home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Technology Seed / Jan. '98 ATS.toast / QuickTime™ 3.0b11 / QTPublicInterfaces / CIncludes / Files.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-12  |  108.6 KB  |  2,578 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        Files.h
  3.  
  4.      Contains:    File Manager (HFS and MFS) Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    QuickTime 3.0 Beta
  8.  
  9.      Copyright:    © 1985-1997 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18. #ifndef __FILES__
  19. #define __FILES__
  20.  
  21. #ifndef __MACTYPES__
  22. #include <MacTypes.h>
  23. #endif
  24. #ifndef __MIXEDMODE__
  25. #include <MixedMode.h>
  26. #endif
  27. #ifndef __OSUTILS__
  28. #include <OSUtils.h>
  29. #endif
  30.  
  31. /* Finder constants where moved to Finder.≈ */
  32. #ifndef __FINDER__
  33. #include <Finder.h>
  34. #endif
  35.  
  36.  
  37.  
  38. #if PRAGMA_ONCE
  39. #pragma once
  40. #endif
  41.  
  42. #ifdef __cplusplus
  43. extern "C" {
  44. #endif
  45.  
  46. #if PRAGMA_IMPORT
  47. #pragma import on
  48. #endif
  49.  
  50. #if PRAGMA_STRUCT_ALIGN
  51.     #pragma options align=mac68k
  52. #elif PRAGMA_STRUCT_PACKPUSH
  53.     #pragma pack(push, 2)
  54. #elif PRAGMA_STRUCT_PACK
  55.     #pragma pack(2)
  56. #endif
  57.  
  58.  
  59. enum {
  60.     fsAtMark                    = 0,
  61.     fsCurPerm                    = 0,
  62.     fsRdPerm                    = 1,
  63.     fInvisible                    = 16384,
  64.     fsWrPerm                    = 2,
  65.     fsRdWrPerm                    = 3,
  66.     fsRdWrShPerm                = 4,
  67.     fsFromStart                    = 1,
  68.     fsFromLEOF                    = 2,
  69.     fsFromMark                    = 3,
  70.     rdVerify                    = 64,
  71.     ioMapBuffer                    = 4,
  72.     ioModeReserved                = 8,
  73.     ioDirFlg                    = 4,                            /* see IM IV-125 */
  74.     ioDirMask                    = 0x10,
  75.     fsRtParID                    = 1,
  76.     fsRtDirID                    = 2
  77. };
  78.  
  79.  
  80.  
  81. enum {
  82.                                                                 /* CatSearch Search bitmask Constants */
  83.     fsSBPartialName                = 1,
  84.     fsSBFullName                = 2,
  85.     fsSBFlAttrib                = 4,
  86.     fsSBFlFndrInfo                = 8,
  87.     fsSBFlLgLen                    = 32,
  88.     fsSBFlPyLen                    = 64,
  89.     fsSBFlRLgLen                = 128,
  90.     fsSBFlRPyLen                = 256,
  91.     fsSBFlCrDat                    = 512,
  92.     fsSBFlMdDat                    = 1024,
  93.     fsSBFlBkDat                    = 2048,
  94.     fsSBFlXFndrInfo                = 4096,
  95.     fsSBFlParID                    = 8192,
  96.     fsSBNegate                    = 16384,
  97.     fsSBDrUsrWds                = 8,
  98.     fsSBDrNmFls                    = 16,
  99.     fsSBDrCrDat                    = 512,
  100.     fsSBDrMdDat                    = 1024,
  101.     fsSBDrBkDat                    = 2048,
  102.     fsSBDrFndrInfo                = 4096,
  103.     fsSBDrParID                    = 8192
  104. };
  105.  
  106.  
  107. enum {
  108.                                                                 /* CatSearch Search bit value Constants */
  109.     fsSBPartialNameBit            = 0,                            /*ioFileName points to a substring*/
  110.     fsSBFullNameBit                = 1,                            /*ioFileName points to a match string*/
  111.     fsSBFlAttribBit                = 2,                            /*search includes file attributes*/
  112.     fsSBFlFndrInfoBit            = 3,                            /*search includes finder info*/
  113.     fsSBFlLgLenBit                = 5,                            /*search includes data logical length*/
  114.     fsSBFlPyLenBit                = 6,                            /*search includes data physical length*/
  115.     fsSBFlRLgLenBit                = 7,                            /*search includes resource logical length*/
  116.     fsSBFlRPyLenBit                = 8,                            /*search includes resource physical length*/
  117.     fsSBFlCrDatBit                = 9,                            /*search includes create date*/
  118.     fsSBFlMdDatBit                = 10,                            /*search includes modification date*/
  119.     fsSBFlBkDatBit                = 11,                            /*search includes backup date*/
  120.     fsSBFlXFndrInfoBit            = 12,                            /*search includes extended finder info*/
  121.     fsSBFlParIDBit                = 13,                            /*search includes file's parent ID*/
  122.     fsSBNegateBit                = 14,                            /*return all non-matches*/
  123.     fsSBDrUsrWdsBit                = 3,                            /*search includes directory finder info*/
  124.     fsSBDrNmFlsBit                = 4,                            /*search includes directory valence*/
  125.     fsSBDrCrDatBit                = 9,                            /*directory-named version of fsSBFlCrDatBit*/
  126.     fsSBDrMdDatBit                = 10,                            /*directory-named version of fsSBFlMdDatBit*/
  127.     fsSBDrBkDatBit                = 11,                            /*directory-named version of fsSBFlBkDatBit*/
  128.     fsSBDrFndrInfoBit            = 12,                            /*directory-named version of fsSBFlXFndrInfoBit*/
  129.     fsSBDrParIDBit                = 13                            /*directory-named version of fsSBFlParIDBit*/
  130. };
  131.  
  132.  
  133. enum {
  134.                                                                 /* vMAttrib (GetVolParms) bit position constants */
  135.     bLimitFCBs                    = 31,
  136.     bLocalWList                    = 30,
  137.     bNoMiniFndr                    = 29,
  138.     bNoVNEdit                    = 28,
  139.     bNoLclSync                    = 27,
  140.     bTrshOffLine                = 26,
  141.     bNoSwitchTo                    = 25,
  142.     bNoDeskItems                = 20,
  143.     bNoBootBlks                    = 19,
  144.     bAccessCntl                    = 18,
  145.     bNoSysDir                    = 17,
  146.     bHasExtFSVol                = 16,
  147.     bHasOpenDeny                = 15,
  148.     bHasCopyFile                = 14,
  149.     bHasMoveRename                = 13,
  150.     bHasDesktopMgr                = 12,
  151.     bHasShortName                = 11,
  152.     bHasFolderLock                = 10,
  153.     bHasPersonalAccessPrivileges = 9,
  154.     bHasUserGroupList            = 8,
  155.     bHasCatSearch                = 7,
  156.     bHasFileIDs                    = 6,
  157.     bHasBTreeMgr                = 5,
  158.     bHasBlankAccessPrivileges    = 4,
  159.     bSupportsAsyncRequests        = 3                                /* asynchronous requests to this volume are handled correctly at any time*/
  160. };
  161.  
  162.  
  163.  
  164. enum {
  165.                                                                 /* Desktop Database icon Constants */
  166.     kLargeIcon                    = 1,
  167.     kLarge4BitIcon                = 2,
  168.     kLarge8BitIcon                = 3,
  169.     kSmallIcon                    = 4,
  170.     kSmall4BitIcon                = 5,
  171.     kSmall8BitIcon                = 6
  172. };
  173.  
  174.  
  175. enum {
  176.     kLargeIconSize                = 256,
  177.     kLarge4BitIconSize            = 512,
  178.     kLarge8BitIconSize            = 1024,
  179.     kSmallIconSize                = 64,
  180.     kSmall4BitIconSize            = 128,
  181.     kSmall8BitIconSize            = 256
  182. };
  183.  
  184.  
  185. enum {
  186.                                                                 /* Foreign Privilege Model Identifiers */
  187.     fsUnixPriv                    = 1
  188. };
  189.  
  190.  
  191. enum {
  192.                                                                 /* Authentication Constants */
  193.     kNoUserAuthentication        = 1,
  194.     kPassword                    = 2,
  195.     kEncryptPassword            = 3,
  196.     kTwoWayEncryptPassword        = 6
  197. };
  198.  
  199.  
  200. /* mapping codes (ioObjType) for MapName & MapID */
  201.  
  202. enum {
  203.     kOwnerID2Name                = 1,
  204.     kGroupID2Name                = 2,
  205.     kOwnerName2ID                = 3,
  206.     kGroupName2ID                = 4,                            /* types of oj object to be returned (ioObjType) for _GetUGEntry */
  207.     kReturnNextUser                = 1,
  208.     kReturnNextGroup            = 2,
  209.     kReturnNextUG                = 3
  210. };
  211.  
  212.  
  213.  
  214. /* Folder and File values of access privileges */
  215.  
  216. enum {
  217.     kfullPrivileges                = 0x00070007,                    /*            ; all privileges for everybody and owner*/
  218.     kownerPrivileges            = 0x00000007                    /*            ; all privileges for owner only*/
  219. };
  220.  
  221. /* values of user IDs and group IDs */
  222.  
  223. enum {
  224.     knoUser                        = 0,
  225.     kadministratorUser            = 1
  226. };
  227.  
  228.  
  229. enum {
  230.     knoGroup                    = 0
  231. };
  232.  
  233.  
  234.  
  235. struct GetVolParmsInfoBuffer {
  236.     short                             vMVersion;                    /*version number*/
  237.     long                             vMAttrib;                    /*bit vector of attributes (see vMAttrib constants)*/
  238.     Handle                             vMLocalHand;                /*handle to private data*/
  239.     long                             vMServerAdr;                /*AppleTalk server address or zero*/
  240.     long                             vMVolumeGrade;                /*approx. speed rating or zero if unrated*/
  241.     short                             vMForeignPrivID;            /*foreign privilege model supported or zero if none*/
  242. };
  243. typedef struct GetVolParmsInfoBuffer    GetVolParmsInfoBuffer;
  244. typedef union ParamBlockRec             ParamBlockRec;
  245.  
  246. typedef ParamBlockRec *                    ParmBlkPtr;
  247. typedef CALLBACK_API( void , IOCompletionProcPtr )(ParmBlkPtr paramBlock);
  248. /*
  249.     WARNING: IOCompletionProcPtr uses register based parameters under classic 68k
  250.              and cannot be written in a high-level language without 
  251.              the help of mixed mode or assembly glue.
  252. */
  253. typedef REGISTER_UPP_TYPE(IOCompletionProcPtr)                     IOCompletionUPP;
  254.  
  255. struct IOParam {
  256.     QElemPtr                         qLink;                        /*queue link in header*/
  257.     short                             qType;                        /*type byte for safety check*/
  258.     short                             ioTrap;                        /*FS: the Trap*/
  259.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  260.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  261.     OSErr                             ioResult;                    /*result code*/
  262.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  263.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  264.     short                             ioRefNum;                    /*refNum for I/O operation*/
  265.     SInt8                             ioVersNum;                    /*version number*/
  266.     SInt8                             ioPermssn;                    /*Open: permissions (byte)*/
  267.     Ptr                             ioMisc;                        /*Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)*/
  268.     Ptr                             ioBuffer;                    /*data buffer Ptr*/
  269.     long                             ioReqCount;                    /*requested byte count; also = ioNewDirID*/
  270.     long                             ioActCount;                    /*actual byte count completed*/
  271.     short                             ioPosMode;                    /*initial file positioning*/
  272.     long                             ioPosOffset;                /*file position offset*/
  273. };
  274. typedef struct IOParam                    IOParam;
  275. typedef IOParam *                        IOParamPtr;
  276.  
  277. struct FileParam {
  278.     QElemPtr                         qLink;                        /*queue link in header*/
  279.     short                             qType;                        /*type byte for safety check*/
  280.     short                             ioTrap;                        /*FS: the Trap*/
  281.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  282.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  283.     OSErr                             ioResult;                    /*result code*/
  284.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  285.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  286.     short                             ioFRefNum;                    /*reference number*/
  287.     SInt8                             ioFVersNum;                    /*version number*/
  288.     SInt8                             filler1;
  289.     short                             ioFDirIndex;                /*GetFInfo directory index*/
  290.     SInt8                             ioFlAttrib;                    /*GetFInfo: in-use bit=7, lock bit=0*/
  291.     SInt8                             ioFlVersNum;                /*file version number*/
  292.     FInfo                             ioFlFndrInfo;                /*user info*/
  293.     unsigned long                     ioFlNum;                    /*GetFInfo: file number; TF- ioDirID*/
  294.     unsigned short                     ioFlStBlk;                    /*start file block (0 if none)*/
  295.     long                             ioFlLgLen;                    /*logical length (EOF)*/
  296.     long                             ioFlPyLen;                    /*physical length*/
  297.     unsigned short                     ioFlRStBlk;                    /*start block rsrc fork*/
  298.     long                             ioFlRLgLen;                    /*file logical length rsrc fork*/
  299.     long                             ioFlRPyLen;                    /*file physical length rsrc fork*/
  300.     unsigned long                     ioFlCrDat;                    /*file creation date& time (32 bits in secs)*/
  301.     unsigned long                     ioFlMdDat;                    /*last modified date and time*/
  302. };
  303. typedef struct FileParam                FileParam;
  304. typedef FileParam *                        FileParamPtr;
  305.  
  306. struct VolumeParam {
  307.     QElemPtr                         qLink;                        /*queue link in header*/
  308.     short                             qType;                        /*type byte for safety check*/
  309.     short                             ioTrap;                        /*FS: the Trap*/
  310.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  311.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  312.     OSErr                             ioResult;                    /*result code*/
  313.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  314.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  315.     long                             filler2;
  316.     short                             ioVolIndex;                    /*volume index number*/
  317.     unsigned long                     ioVCrDate;                    /*creation date and time*/
  318.     unsigned long                     ioVLsBkUp;                    /*last backup date and time*/
  319.     unsigned short                     ioVAtrb;                    /*volume attrib*/
  320.     unsigned short                     ioVNmFls;                    /*number of files in directory*/
  321.     unsigned short                     ioVDirSt;                    /*start block of file directory*/
  322.     short                             ioVBlLn;                    /*GetVolInfo: length of dir in blocks*/
  323.     unsigned short                     ioVNmAlBlks;                /*for compatibilty ioVNmAlBlks * ioVAlBlkSiz <= 2 GB*/
  324.     unsigned long                     ioVAlBlkSiz;                /*for compatibilty ioVAlBlkSiz is <= $0000FE00 (65,024)*/
  325.     unsigned long                     ioVClpSiz;                    /*GetVolInfo: bytes to allocate at a time*/
  326.     unsigned short                     ioAlBlSt;                    /*starting disk(512-byte) block in block map*/
  327.     unsigned long                     ioVNxtFNum;                    /*GetVolInfo: next free file number*/
  328.     unsigned short                     ioVFrBlk;                    /*GetVolInfo: # free alloc blks for this vol*/
  329. };
  330. typedef struct VolumeParam                VolumeParam;
  331. typedef VolumeParam *                    VolumeParamPtr;
  332.  
  333. struct CntrlParam {
  334.     QElemPtr                         qLink;                        /*queue link in header*/
  335.     short                             qType;                        /*type byte for safety check*/
  336.     short                             ioTrap;                        /*FS: the Trap*/
  337.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  338.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  339.     OSErr                             ioResult;                    /*result code*/
  340.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  341.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  342.     short                             ioCRefNum;                    /*refNum for I/O operation*/
  343.     short                             csCode;                        /*word for control status code*/
  344.     short                             csParam[11];                /*operation-defined parameters*/
  345. };
  346. typedef struct CntrlParam                CntrlParam;
  347. typedef CntrlParam *                    CntrlParamPtr;
  348.  
  349. struct SlotDevParam {
  350.     QElemPtr                         qLink;                        /*queue link in header*/
  351.     short                             qType;                        /*type byte for safety check*/
  352.     short                             ioTrap;                        /*FS: the Trap*/
  353.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  354.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  355.     OSErr                             ioResult;                    /*result code*/
  356.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  357.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  358.     short                             ioSRefNum;
  359.     SInt8                             ioSVersNum;
  360.     SInt8                             ioSPermssn;
  361.     Ptr                             ioSMix;
  362.     short                             ioSFlags;
  363.     SInt8                             ioSlot;
  364.     SInt8                             ioID;
  365. };
  366. typedef struct SlotDevParam                SlotDevParam;
  367. typedef SlotDevParam *                    SlotDevParamPtr;
  368.  
  369. struct MultiDevParam {
  370.     QElemPtr                         qLink;                        /*queue link in header*/
  371.     short                             qType;                        /*type byte for safety check*/
  372.     short                             ioTrap;                        /*FS: the Trap*/
  373.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  374.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  375.     OSErr                             ioResult;                    /*result code*/
  376.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  377.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  378.     short                             ioMRefNum;
  379.     SInt8                             ioMVersNum;
  380.     SInt8                             ioMPermssn;
  381.     Ptr                             ioMMix;
  382.     short                             ioMFlags;
  383.     Ptr                             ioSEBlkPtr;
  384. };
  385. typedef struct MultiDevParam            MultiDevParam;
  386. typedef MultiDevParam *                    MultiDevParamPtr;
  387.  
  388. union ParamBlockRec {
  389.     IOParam                         ioParam;
  390.     FileParam                         fileParam;
  391.     VolumeParam                     volumeParam;
  392.     CntrlParam                         cntrlParam;
  393.     SlotDevParam                     slotDevParam;
  394.     MultiDevParam                     multiDevParam;
  395. };
  396.  
  397.  
  398. struct HFileInfo {
  399.     QElemPtr                         qLink;                        /*queue link in header*/
  400.     short                             qType;                        /*type byte for safety check*/
  401.     short                             ioTrap;                        /*FS: the Trap*/
  402.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  403.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  404.     OSErr                             ioResult;                    /*result code*/
  405.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  406.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  407.     short                             ioFRefNum;
  408.     SInt8                             ioFVersNum;
  409.     SInt8                             filler1;
  410.     short                             ioFDirIndex;
  411.     SInt8                             ioFlAttrib;
  412.     SInt8                             ioACUser;
  413.     FInfo                             ioFlFndrInfo;
  414.     long                             ioDirID;
  415.     unsigned short                     ioFlStBlk;
  416.     long                             ioFlLgLen;
  417.     long                             ioFlPyLen;
  418.     unsigned short                     ioFlRStBlk;
  419.     long                             ioFlRLgLen;
  420.     long                             ioFlRPyLen;
  421.     unsigned long                     ioFlCrDat;
  422.     unsigned long                     ioFlMdDat;
  423.     unsigned long                     ioFlBkDat;
  424.     FXInfo                             ioFlXFndrInfo;
  425.     long                             ioFlParID;
  426.     long                             ioFlClpSiz;
  427. };
  428. typedef struct HFileInfo                HFileInfo;
  429.  
  430. struct DirInfo {
  431.     QElemPtr                         qLink;                        /*queue link in header*/
  432.     short                             qType;                        /*type byte for safety check*/
  433.     short                             ioTrap;                        /*FS: the Trap*/
  434.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  435.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  436.     OSErr                             ioResult;                    /*result code*/
  437.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  438.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  439.     short                             ioFRefNum;
  440.     SInt8                             ioFVersNum;
  441.     SInt8                             filler1;
  442.     short                             ioFDirIndex;
  443.     SInt8                             ioFlAttrib;
  444.     SInt8                             ioACUser;
  445.     DInfo                             ioDrUsrWds;
  446.     long                             ioDrDirID;
  447.     unsigned short                     ioDrNmFls;
  448.     short                             filler3[9];
  449.     unsigned long                     ioDrCrDat;
  450.     unsigned long                     ioDrMdDat;
  451.     unsigned long                     ioDrBkDat;
  452.     DXInfo                             ioDrFndrInfo;
  453.     long                             ioDrParID;
  454. };
  455. typedef struct DirInfo                    DirInfo;
  456.  
  457. union CInfoPBRec {
  458.     HFileInfo                         hFileInfo;
  459.     DirInfo                         dirInfo;
  460. };
  461. typedef union CInfoPBRec                CInfoPBRec;
  462.  
  463.  
  464. typedef CInfoPBRec *                    CInfoPBPtr;
  465.  
  466. struct XCInfoPBRec {
  467.     QElemPtr                         qLink;
  468.     short                             qType;
  469.     short                             ioTrap;
  470.     Ptr                             ioCmdAddr;
  471.     ProcPtr                         ioCompletion;                /* --> A pointer to a completion routine */
  472.     OSErr                             ioResult;                    /* --> The result code of the function */
  473.     StringPtr                         ioNamePtr;                    /* --> Pointer to pathname to object */
  474.     short                             ioVRefNum;                    /* --> A volume specification */
  475.     long                             filler1;
  476.     StringPtr                         ioShortNamePtr;                /* <-> A pointer to the short name string buffer - required! */
  477.     short                             filler2;
  478.     short                             ioPDType;                    /* <-- The ProDOS file type */
  479.     long                             ioPDAuxType;                /* <-- The ProDOS aux type */
  480.     long                             filler3[2];
  481.     long                             ioDirID;                    /* --> A directory ID */
  482. };
  483. typedef struct XCInfoPBRec                XCInfoPBRec;
  484.  
  485. typedef XCInfoPBRec *                    XCInfoPBPtr;
  486. /* Catalog position record */
  487.  
  488. struct CatPositionRec {
  489.     long                             initialize;
  490.     short                             priv[6];
  491. };
  492. typedef struct CatPositionRec            CatPositionRec;
  493.  
  494. struct FSSpec {
  495.     short                             vRefNum;
  496.     long                             parID;
  497.     StrFileName                     name;
  498. };
  499. typedef struct FSSpec                    FSSpec;
  500. typedef FSSpec *                        FSSpecPtr;
  501. typedef FSSpecPtr *                        FSSpecHandle;
  502. /* pointer to array of FSSpecs */
  503. typedef FSSpecPtr                         FSSpecArrayPtr;
  504. /* 
  505.     The only difference between "const FSSpec*" and "ConstFSSpecPtr" is 
  506.     that as a parameter, ConstFSSpecPtr is allowed to be NULL 
  507. */
  508.  
  509. typedef const FSSpec *                    ConstFSSpecPtr;
  510.  
  511. /* 
  512.     The following are structures to be filled out with the _PBGetVolMountInfo call
  513.     and passed back into the _PBVolumeMount call for external file system mounts. 
  514. */
  515. /* the "signature" of the file system */
  516. typedef OSType                             VolumeType;
  517.  
  518. enum {
  519.                                                                 /* the signature for AppleShare */
  520.     AppleShareMediaType            = FOUR_CHAR_CODE('afpm')
  521. };
  522.  
  523. /*
  524.     VolMount stuff was once in FSM.≈
  525. */
  526.  
  527. struct VolMountInfoHeader {
  528.     short                             length;                        /* length of location data (including self) */
  529.     VolumeType                         media;                        /* type of media.  Variable length data follows */
  530. };
  531. typedef struct VolMountInfoHeader        VolMountInfoHeader;
  532.  
  533. typedef VolMountInfoHeader *            VolMountInfoPtr;
  534. /* The new volume mount info record.  The old one is included for compatibility. 
  535.     the new record allows access by foriegn filesystems writers to the flags 
  536.     portion of the record. This portion is now public.  
  537. */
  538.  
  539. struct VolumeMountInfoHeader {
  540.     short                             length;                        /* length of location data (including self) */
  541.     VolumeType                         media;                        /* type of media (must be registered with Apple) */
  542.     short                             flags;                        /* volume mount flags. Variable length data follows */
  543. };
  544. typedef struct VolumeMountInfoHeader    VolumeMountInfoHeader;
  545. typedef VolumeMountInfoHeader *            VolumeMountInfoHeaderPtr;
  546. /* volume mount flags */
  547.  
  548. enum {
  549.     volMountNoLoginMsgFlagBit    = 0,                            /* Input to VolumeMount: If set, the file system */
  550.     volMountNoLoginMsgFlagMask    = 0x0001,                        /*  should suppresss any log-in message/greeting dialog */
  551.     volMountExtendedFlagsBit    = 7,                            /* Input to VolumeMount: If set, the mount info is a */
  552.     volMountExtendedFlagsMask    = 0x0080,                        /*  AFPXVolMountInfo record for 3.7 AppleShare Client */
  553.     volMountInteractBit            = 15,                            /* Input to VolumeMount: If set, it's OK for the file system */
  554.     volMountInteractMask        = 0x8000,                        /* to perform user interaction to mount the volume */
  555.     volMountChangedBit            = 14,                            /* Output from VoumeMount: If set, the volume was mounted, but */
  556.     volMountChangedMask            = 0x4000,                        /* the volume mounting information record needs to be updated. */
  557.     volMountFSReservedMask        = 0x00FF,                        /* bits 0-7 are defined by each file system for its own use */
  558.     volMountSysReservedMask        = 0xFF00                        /* bits 8-15 are reserved for Apple system use */
  559. };
  560.  
  561.  
  562.  
  563.  
  564. struct AFPVolMountInfo {
  565.     short                             length;                        /* length of location data (including self) */
  566.     VolumeType                         media;                        /* type of media */
  567.     short                             flags;                        /* bits for no messages, no reconnect */
  568.     SInt8                             nbpInterval;                /* NBP Interval parameter (IM2, p.322) */
  569.     SInt8                             nbpCount;                    /* NBP Interval parameter (IM2, p.322) */
  570.     short                             uamType;                    /* User Authentication Method */
  571.     short                             zoneNameOffset;                /* short positive offset from start of struct to Zone Name */
  572.     short                             serverNameOffset;            /* offset to pascal Server Name string */
  573.     short                             volNameOffset;                /* offset to pascal Volume Name string */
  574.     short                             userNameOffset;                /* offset to pascal User Name string */
  575.     short                             userPasswordOffset;            /* offset to pascal User Password string */
  576.     short                             volPasswordOffset;            /* offset to pascal Volume Password string */
  577.     char                             AFPData[144];                /* variable length data may follow */
  578. };
  579. typedef struct AFPVolMountInfo            AFPVolMountInfo;
  580. typedef AFPVolMountInfo *                AFPVolMountInfoPtr;
  581.  
  582.  
  583. /* AFPXVolMountInfo is the new AFP volume mount info record, requires the 3.7 AppleShare Client */
  584.  
  585. struct AFPXVolMountInfo {
  586.     short                             length;                        /* length of location data (including self) */
  587.     VolumeType                         media;                        /* type of media */
  588.     short                             flags;                        /* bits for no messages, no reconnect */
  589.     SInt8                             nbpInterval;                /* NBP Interval parameter (IM2, p.322) */
  590.     SInt8                             nbpCount;                    /* NBP Interval parameter (IM2, p.322) */
  591.     short                             uamType;                    /* User Authentication Method type */
  592.     short                             zoneNameOffset;                /* short positive offset from start of struct to Zone Name */
  593.     short                             serverNameOffset;            /* offset to pascal Server Name string */
  594.     short                             volNameOffset;                /* offset to pascal Volume Name string */
  595.     short                             userNameOffset;                /* offset to pascal User Name string */
  596.     short                             userPasswordOffset;            /* offset to pascal User Password string */
  597.     short                             volPasswordOffset;            /* offset to pascal Volume Password string */
  598.     short                             extendedFlags;                /* extended flags word */
  599.     short                             uamNameOffset;                /* offset to a pascal UAM name string */
  600.     short                             alternateAddressOffset;        /* offset to Alternate Addresses in tagged format */
  601.     char                             AFPData[176];                /* variable length data may follow */
  602. };
  603. typedef struct AFPXVolMountInfo            AFPXVolMountInfo;
  604. typedef AFPXVolMountInfo *                AFPXVolMountInfoPtr;
  605.  
  606. enum {
  607.     kAFPExtendedFlagsAlternateAddressMask = 1                    /*  bit in AFPXVolMountInfo.extendedFlags that means alternateAddressOffset is used*/
  608. };
  609.  
  610.  
  611.  
  612. enum {
  613.                                                                 /* constants for use in AFPTagData.fType field*/
  614.     kAFPTagTypeIP                = 0x01,
  615.     kAFPTagTypeIPPort            = 0x02,
  616.     kAFPTagTypeDDP                = 0x03                            /* Currently unused*/
  617. };
  618.  
  619.  
  620.  
  621. enum {
  622.                                                                 /* constants for use in AFPTagData.fLength field*/
  623.     kAFPTagLengthIP                = 0x06,
  624.     kAFPTagLengthIPPort            = 0x08,
  625.     kAFPTagLengthDDP            = 0x06
  626. };
  627.  
  628.  
  629. struct AFPTagData {
  630.     UInt8                             fLength;                    /* length of this data tag including the fLength field */
  631.     UInt8                             fType;
  632.     UInt8                             fData[1];                    /* variable length data */
  633. };
  634. typedef struct AFPTagData                AFPTagData;
  635.  
  636. struct AFPAlternateAddress {
  637.     UInt8                             fAddressCount;
  638.     UInt8                             fAddressList[1];            /* actually variable length packed set of AFPTagData */
  639. };
  640. typedef struct AFPAlternateAddress        AFPAlternateAddress;
  641.  
  642.  
  643.  
  644. struct DTPBRec {
  645.     QElemPtr                         qLink;                        /*queue link in header*/
  646.     short                             qType;                        /*type byte for safety check*/
  647.     short                             ioTrap;                        /*FS: the Trap*/
  648.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  649.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  650.     OSErr                             ioResult;                    /*result code*/
  651.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  652.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  653.     short                             ioDTRefNum;                    /* desktop refnum */
  654.     short                             ioIndex;
  655.     long                             ioTagInfo;
  656.     Ptr                             ioDTBuffer;
  657.     long                             ioDTReqCount;
  658.     long                             ioDTActCount;
  659.     SInt8                             ioFiller1;
  660.     SInt8                             ioIconType;
  661.     short                             ioFiller2;
  662.     long                             ioDirID;
  663.     OSType                             ioFileCreator;
  664.     OSType                             ioFileType;
  665.     long                             ioFiller3;
  666.     long                             ioDTLgLen;
  667.     long                             ioDTPyLen;
  668.     short                             ioFiller4[14];
  669.     long                             ioAPPLParID;
  670. };
  671. typedef struct DTPBRec                    DTPBRec;
  672.  
  673. typedef DTPBRec *                        DTPBPtr;
  674.  
  675. struct HIOParam {
  676.     QElemPtr                         qLink;                        /*queue link in header*/
  677.     short                             qType;                        /*type byte for safety check*/
  678.     short                             ioTrap;                        /*FS: the Trap*/
  679.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  680.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  681.     OSErr                             ioResult;                    /*result code*/
  682.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  683.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  684.     short                             ioRefNum;
  685.     SInt8                             ioVersNum;
  686.     SInt8                             ioPermssn;
  687.     Ptr                             ioMisc;
  688.     Ptr                             ioBuffer;
  689.     long                             ioReqCount;
  690.     long                             ioActCount;
  691.     short                             ioPosMode;
  692.     long                             ioPosOffset;
  693. };
  694. typedef struct HIOParam                    HIOParam;
  695. typedef HIOParam *                        HIOParamPtr;
  696.  
  697. struct HFileParam {
  698.     QElemPtr                         qLink;                        /*queue link in header*/
  699.     short                             qType;                        /*type byte for safety check*/
  700.     short                             ioTrap;                        /*FS: the Trap*/
  701.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  702.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  703.     OSErr                             ioResult;                    /*result code*/
  704.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  705.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  706.     short                             ioFRefNum;
  707.     SInt8                             ioFVersNum;
  708.     SInt8                             filler1;
  709.     short                             ioFDirIndex;
  710.     SInt8                             ioFlAttrib;
  711.     SInt8                             ioFlVersNum;
  712.     FInfo                             ioFlFndrInfo;
  713.     long                             ioDirID;
  714.     unsigned short                     ioFlStBlk;
  715.     long                             ioFlLgLen;
  716.     long                             ioFlPyLen;
  717.     unsigned short                     ioFlRStBlk;
  718.     long                             ioFlRLgLen;
  719.     long                             ioFlRPyLen;
  720.     unsigned long                     ioFlCrDat;
  721.     unsigned long                     ioFlMdDat;
  722. };
  723. typedef struct HFileParam                HFileParam;
  724. typedef HFileParam *                    HFileParamPtr;
  725.  
  726. struct HVolumeParam {
  727.     QElemPtr                         qLink;                        /*queue link in header*/
  728.     short                             qType;                        /*type byte for safety check*/
  729.     short                             ioTrap;                        /*FS: the Trap*/
  730.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  731.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  732.     OSErr                             ioResult;                    /*result code*/
  733.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  734.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  735.     long                             filler2;
  736.     short                             ioVolIndex;
  737.     unsigned long                     ioVCrDate;
  738.     unsigned long                     ioVLsMod;
  739.     short                             ioVAtrb;
  740.     unsigned short                     ioVNmFls;
  741.     unsigned short                     ioVBitMap;
  742.     unsigned short                     ioAllocPtr;
  743.     unsigned short                     ioVNmAlBlks;
  744.     unsigned long                     ioVAlBlkSiz;
  745.     unsigned long                     ioVClpSiz;
  746.     unsigned short                     ioAlBlSt;
  747.     unsigned long                     ioVNxtCNID;
  748.     unsigned short                     ioVFrBlk;
  749.     unsigned short                     ioVSigWord;
  750.     short                             ioVDrvInfo;
  751.     short                             ioVDRefNum;
  752.     short                             ioVFSID;
  753.     unsigned long                     ioVBkUp;
  754.     short                             ioVSeqNum;
  755.     unsigned long                     ioVWrCnt;
  756.     unsigned long                     ioVFilCnt;
  757.     unsigned long                     ioVDirCnt;
  758.     long                             ioVFndrInfo[8];
  759. };
  760. typedef struct HVolumeParam                HVolumeParam;
  761. typedef HVolumeParam *                    HVolumeParamPtr;
  762.  
  763. enum {
  764.                                                                 /* Large Volume Constants */
  765.     kWidePosOffsetBit            = 8,
  766.     kMaximumBlocksIn4GB            = 0x007FFFFF
  767. };
  768.  
  769.  
  770. struct XIOParam {
  771.     QElemPtr                         qLink;
  772.     short                             qType;
  773.     short                             ioTrap;
  774.     Ptr                             ioCmdAddr;
  775.     IOCompletionUPP                 ioCompletion;
  776.     OSErr                             ioResult;
  777.     StringPtr                         ioNamePtr;
  778.     short                             ioVRefNum;
  779.     short                             ioRefNum;
  780.     SInt8                             ioVersNum;
  781.     SInt8                             ioPermssn;
  782.     Ptr                             ioMisc;
  783.     Ptr                             ioBuffer;
  784.     long                             ioReqCount;
  785.     long                             ioActCount;
  786.     short                             ioPosMode;                    /* must have kUseWidePositioning bit set */
  787.     wide                             ioWPosOffset;                /* wide positioning offset */
  788. };
  789. typedef struct XIOParam                    XIOParam;
  790. typedef XIOParam *                        XIOParamPtr;
  791.  
  792. struct XVolumeParam {
  793.     QElemPtr                         qLink;
  794.     short                             qType;
  795.     short                             ioTrap;
  796.     Ptr                             ioCmdAddr;
  797.     IOCompletionUPP                 ioCompletion;
  798.     OSErr                             ioResult;
  799.     StringPtr                         ioNamePtr;
  800.     short                             ioVRefNum;
  801.     unsigned long                     ioXVersion;                    /* this XVolumeParam version (0) */
  802.     short                             ioVolIndex;
  803.     unsigned long                     ioVCrDate;
  804.     unsigned long                     ioVLsMod;
  805.     short                             ioVAtrb;
  806.     unsigned short                     ioVNmFls;
  807.     unsigned short                     ioVBitMap;
  808.     unsigned short                     ioAllocPtr;
  809.     unsigned short                     ioVNmAlBlks;
  810.     unsigned long                     ioVAlBlkSiz;
  811.     unsigned long                     ioVClpSiz;
  812.     unsigned short                     ioAlBlSt;
  813.     unsigned long                     ioVNxtCNID;
  814.     unsigned short                     ioVFrBlk;
  815.     unsigned short                     ioVSigWord;
  816.     short                             ioVDrvInfo;
  817.     short                             ioVDRefNum;
  818.     short                             ioVFSID;
  819.     unsigned long                     ioVBkUp;
  820.     short                             ioVSeqNum;
  821.     unsigned long                     ioVWrCnt;
  822.     unsigned long                     ioVFilCnt;
  823.     unsigned long                     ioVDirCnt;
  824.     long                             ioVFndrInfo[8];
  825.     UnsignedWide                     ioVTotalBytes;                /* total number of bytes on volume */
  826.     UnsignedWide                     ioVFreeBytes;                /* number of free bytes on volume */
  827. };
  828. typedef struct XVolumeParam                XVolumeParam;
  829. typedef XVolumeParam *                    XVolumeParamPtr;
  830.  
  831. struct AccessParam {
  832.     QElemPtr                         qLink;                        /*queue link in header*/
  833.     short                             qType;                        /*type byte for safety check*/
  834.     short                             ioTrap;                        /*FS: the Trap*/
  835.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  836.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  837.     OSErr                             ioResult;                    /*result code*/
  838.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  839.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  840.     short                             filler3;
  841.     short                             ioDenyModes;                /*access rights data*/
  842.     short                             filler4;
  843.     SInt8                             filler5;
  844.     SInt8                             ioACUser;                    /*access rights for directory only*/
  845.     long                             filler6;
  846.     long                             ioACOwnerID;                /*owner ID*/
  847.     long                             ioACGroupID;                /*group ID*/
  848.     long                             ioACAccess;                    /*access rights*/
  849.     long                             ioDirID;
  850. };
  851. typedef struct AccessParam                AccessParam;
  852. typedef AccessParam *                    AccessParamPtr;
  853.  
  854. struct ObjParam {
  855.     QElemPtr                         qLink;                        /*queue link in header*/
  856.     short                             qType;                        /*type byte for safety check*/
  857.     short                             ioTrap;                        /*FS: the Trap*/
  858.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  859.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  860.     OSErr                             ioResult;                    /*result code*/
  861.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  862.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  863.     short                             filler7;
  864.     short                             ioObjType;                    /*function code*/
  865.     StringPtr                         ioObjNamePtr;                /*ptr to returned creator/group name*/
  866.     long                             ioObjID;                    /*creator/group ID*/
  867. };
  868. typedef struct ObjParam                    ObjParam;
  869. typedef ObjParam *                        ObjParamPtr;
  870.  
  871. struct CopyParam {
  872.     QElemPtr                         qLink;                        /*queue link in header*/
  873.     short                             qType;                        /*type byte for safety check*/
  874.     short                             ioTrap;                        /*FS: the Trap*/
  875.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  876.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  877.     OSErr                             ioResult;                    /*result code*/
  878.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  879.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  880.     short                             ioDstVRefNum;                /*destination vol identifier*/
  881.     short                             filler8;
  882.     StringPtr                         ioNewName;                    /*ptr to destination pathname*/
  883.     StringPtr                         ioCopyName;                    /*ptr to optional name*/
  884.     long                             ioNewDirID;                    /*destination directory ID*/
  885.     long                             filler14;
  886.     long                             filler15;
  887.     long                             ioDirID;
  888. };
  889. typedef struct CopyParam                CopyParam;
  890. typedef CopyParam *                        CopyParamPtr;
  891.  
  892. struct WDParam {
  893.     QElemPtr                         qLink;                        /*queue link in header*/
  894.     short                             qType;                        /*type byte for safety check*/
  895.     short                             ioTrap;                        /*FS: the Trap*/
  896.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  897.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  898.     OSErr                             ioResult;                    /*result code*/
  899.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  900.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  901.     short                             filler9;
  902.     short                             ioWDIndex;
  903.     long                             ioWDProcID;
  904.     short                             ioWDVRefNum;
  905.     short                             filler10;
  906.     long                             filler11;
  907.     long                             filler12;
  908.     long                             filler13;
  909.     long                             ioWDDirID;
  910. };
  911. typedef struct WDParam                    WDParam;
  912. typedef WDParam *                        WDParamPtr;
  913.  
  914. struct FIDParam {
  915.     QElemPtr                         qLink;                        /*queue link in header*/
  916.     short                             qType;                        /*type byte for safety check*/
  917.     short                             ioTrap;                        /*FS: the Trap*/
  918.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  919.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  920.     OSErr                             ioResult;                    /*result code*/
  921.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  922.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  923.     long                             filler14;
  924.     StringPtr                         ioDestNamePtr;                /* dest file name */
  925.     long                             filler15;
  926.     long                             ioDestDirID;                /* dest file's directory id */
  927.     long                             filler16;
  928.     long                             filler17;
  929.     long                             ioSrcDirID;                    /* source file's directory id */
  930.     short                             filler18;
  931.     long                             ioFileID;                    /* file ID */
  932. };
  933. typedef struct FIDParam                    FIDParam;
  934. typedef FIDParam *                        FIDParamPtr;
  935.  
  936. struct ForeignPrivParam {
  937.     QElemPtr                         qLink;                        /*queue link in header*/
  938.     short                             qType;                        /*type byte for safety check*/
  939.     short                             ioTrap;                        /*FS: the Trap*/
  940.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  941.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  942.     OSErr                             ioResult;                    /*result code*/
  943.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  944.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  945.     long                             ioFiller21;
  946.     long                             ioFiller22;
  947.     Ptr                             ioForeignPrivBuffer;
  948.     long                             ioForeignPrivActCount;
  949.     long                             ioForeignPrivReqCount;
  950.     long                             ioFiller23;
  951.     long                             ioForeignPrivDirID;
  952.     long                             ioForeignPrivInfo1;
  953.     long                             ioForeignPrivInfo2;
  954.     long                             ioForeignPrivInfo3;
  955.     long                             ioForeignPrivInfo4;
  956. };
  957. typedef struct ForeignPrivParam            ForeignPrivParam;
  958. typedef ForeignPrivParam *                ForeignPrivParamPtr;
  959.  
  960. struct CSParam {
  961.     QElemPtr                         qLink;                        /*queue link in header*/
  962.     short                             qType;                        /*type byte for safety check*/
  963.     short                             ioTrap;                        /*FS: the Trap*/
  964.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  965.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  966.     OSErr                             ioResult;                    /*result code*/
  967.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  968.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  969.     FSSpecPtr                         ioMatchPtr;                    /* match array */
  970.     long                             ioReqMatchCount;            /* maximum allowable matches */
  971.     long                             ioActMatchCount;            /* actual match count */
  972.     long                             ioSearchBits;                /* search criteria selector */
  973.     CInfoPBPtr                         ioSearchInfo1;                /* search values and range lower bounds */
  974.     CInfoPBPtr                         ioSearchInfo2;                /* search values and range upper bounds */
  975.     long                             ioSearchTime;                /* length of time to run search */
  976.     CatPositionRec                     ioCatPosition;                /* current position in the catalog */
  977.     Ptr                             ioOptBuffer;                /* optional performance enhancement buffer */
  978.     long                             ioOptBufSize;                /* size of buffer pointed to by ioOptBuffer */
  979. };
  980. typedef struct CSParam                    CSParam;
  981. typedef CSParam *                        CSParamPtr;
  982.  
  983. union HParamBlockRec {
  984.     HIOParam                         ioParam;
  985.     HFileParam                         fileParam;
  986.     HVolumeParam                     volumeParam;
  987.     AccessParam                     accessParam;
  988.     ObjParam                         objParam;
  989.     CopyParam                         copyParam;
  990.     WDParam                         wdParam;
  991.     FIDParam                         fidParam;
  992.     CSParam                         csParam;
  993.     ForeignPrivParam                 foreignPrivParam;
  994. };
  995. typedef union HParamBlockRec            HParamBlockRec;
  996.  
  997. typedef HParamBlockRec *                HParmBlkPtr;
  998.  
  999. struct CMovePBRec {
  1000.     QElemPtr                         qLink;
  1001.     short                             qType;
  1002.     short                             ioTrap;
  1003.     Ptr                             ioCmdAddr;
  1004.     IOCompletionUPP                 ioCompletion;
  1005.     OSErr                             ioResult;
  1006.     StringPtr                         ioNamePtr;
  1007.     short                             ioVRefNum;
  1008.     long                             filler1;
  1009.     StringPtr                         ioNewName;
  1010.     long                             filler2;
  1011.     long                             ioNewDirID;
  1012.     long                             filler3[2];
  1013.     long                             ioDirID;
  1014. };
  1015. typedef struct CMovePBRec                CMovePBRec;
  1016.  
  1017. typedef CMovePBRec *                    CMovePBPtr;
  1018.  
  1019. struct WDPBRec {
  1020.     QElemPtr                         qLink;
  1021.     short                             qType;
  1022.     short                             ioTrap;
  1023.     Ptr                             ioCmdAddr;
  1024.     IOCompletionUPP                 ioCompletion;
  1025.     OSErr                             ioResult;
  1026.     StringPtr                         ioNamePtr;
  1027.     short                             ioVRefNum;
  1028.     short                             filler1;
  1029.     short                             ioWDIndex;
  1030.     long                             ioWDProcID;
  1031.     short                             ioWDVRefNum;
  1032.     short                             filler2[7];
  1033.     long                             ioWDDirID;
  1034. };
  1035. typedef struct WDPBRec                    WDPBRec;
  1036.  
  1037. typedef WDPBRec *                        WDPBPtr;
  1038.  
  1039. struct FCBPBRec {
  1040.     QElemPtr                         qLink;
  1041.     short                             qType;
  1042.     short                             ioTrap;
  1043.     Ptr                             ioCmdAddr;
  1044.     IOCompletionUPP                 ioCompletion;
  1045.     OSErr                             ioResult;
  1046.     StringPtr                         ioNamePtr;
  1047.     short                             ioVRefNum;
  1048.     short                             ioRefNum;
  1049.     short                             filler;
  1050.     short                             ioFCBIndx;
  1051.     short                             filler1;
  1052.     long                             ioFCBFlNm;
  1053.     short                             ioFCBFlags;
  1054.     unsigned short                     ioFCBStBlk;
  1055.     long                             ioFCBEOF;
  1056.     long                             ioFCBPLen;
  1057.     long                             ioFCBCrPs;
  1058.     short                             ioFCBVRefNum;
  1059.     long                             ioFCBClpSiz;
  1060.     long                             ioFCBParID;
  1061. };
  1062. typedef struct FCBPBRec                    FCBPBRec;
  1063.  
  1064. typedef FCBPBRec *                        FCBPBPtr;
  1065.  
  1066. struct VCB {
  1067.     QElemPtr                         qLink;
  1068.     short                             qType;
  1069.     short                             vcbFlags;
  1070.     unsigned short                     vcbSigWord;
  1071.     unsigned long                     vcbCrDate;
  1072.     unsigned long                     vcbLsMod;
  1073.     short                             vcbAtrb;
  1074.     unsigned short                     vcbNmFls;
  1075.     short                             vcbVBMSt;
  1076.     short                             vcbAllocPtr;
  1077.     unsigned short                     vcbNmAlBlks;
  1078.     long                             vcbAlBlkSiz;
  1079.     long                             vcbClpSiz;
  1080.     short                             vcbAlBlSt;
  1081.     long                             vcbNxtCNID;
  1082.     unsigned short                     vcbFreeBks;
  1083.     Str27                             vcbVN;
  1084.     short                             vcbDrvNum;
  1085.     short                             vcbDRefNum;
  1086.     short                             vcbFSID;
  1087.     short                             vcbVRefNum;
  1088.     Ptr                             vcbMAdr;
  1089.     Ptr                             vcbBufAdr;
  1090.     short                             vcbMLen;
  1091.     short                             vcbDirIndex;
  1092.     short                             vcbDirBlk;
  1093.     unsigned long                     vcbVolBkUp;
  1094.     unsigned short                     vcbVSeqNum;
  1095.     long                             vcbWrCnt;
  1096.     long                             vcbXTClpSiz;
  1097.     long                             vcbCTClpSiz;
  1098.     unsigned short                     vcbNmRtDirs;
  1099.     long                             vcbFilCnt;
  1100.     long                             vcbDirCnt;
  1101.     long                             vcbFndrInfo[8];
  1102.     unsigned short                     vcbVCSize;
  1103.     unsigned short                     vcbVBMCSiz;
  1104.     unsigned short                     vcbCtlCSiz;
  1105.     unsigned short                     vcbXTAlBlks;
  1106.     unsigned short                     vcbCTAlBlks;
  1107.     short                             vcbXTRef;
  1108.     short                             vcbCTRef;
  1109.     Ptr                             vcbCtlBuf;
  1110.     long                             vcbDirIDM;
  1111.     short                             vcbOffsM;
  1112. };
  1113. typedef struct VCB                        VCB;
  1114. typedef VCB *                            VCBPtr;
  1115.  
  1116. struct DrvQEl {
  1117.     QElemPtr                         qLink;
  1118.     short                             qType;
  1119.     short                             dQDrive;
  1120.     short                             dQRefNum;
  1121.     short                             dQFSID;
  1122.     unsigned short                     dQDrvSz;
  1123.     unsigned short                     dQDrvSz2;
  1124. };
  1125. typedef struct DrvQEl                    DrvQEl;
  1126. typedef DrvQEl *                        DrvQElPtr;
  1127. enum { uppIOCompletionProcInfo = 0x00009802 };                     /* register no_return_value Func(4_bytes:A0) */
  1128. #define NewIOCompletionProc(userRoutine)                         (IOCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIOCompletionProcInfo, GetCurrentArchitecture())
  1129. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1130.     #pragma parameter CallIOCompletionProc(__A1, __A0)
  1131.     void CallIOCompletionProc(IOCompletionUPP routine, ParmBlkPtr paramBlock) = 0x4E91;
  1132. #else
  1133.     #define CallIOCompletionProc(userRoutine, paramBlock)         CALL_ONE_PARAMETER_UPP((userRoutine), uppIOCompletionProcInfo, (paramBlock))
  1134. #endif
  1135. #if OLDROUTINELOCATIONS
  1136.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1137.                                                                                             #pragma parameter __D0 PBOpenSync(__A0)
  1138.                                                                                             #endif
  1139. EXTERN_API( OSErr ) PBOpenSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA000);
  1140.  
  1141.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1142.                                                                                             #pragma parameter __D0 PBOpenAsync(__A0)
  1143.                                                                                             #endif
  1144. EXTERN_API( OSErr ) PBOpenAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA400);
  1145.  
  1146.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1147.                                                                                             #pragma parameter __D0 PBOpenImmed(__A0)
  1148.                                                                                             #endif
  1149. EXTERN_API( OSErr ) PBOpenImmed(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA200);
  1150.  
  1151.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1152.                                                                                             #pragma parameter __D0 PBCloseSync(__A0)
  1153.                                                                                             #endif
  1154. EXTERN_API( OSErr ) PBCloseSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA001);
  1155.  
  1156.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1157.                                                                                             #pragma parameter __D0 PBCloseAsync(__A0)
  1158.                                                                                             #endif
  1159. EXTERN_API( OSErr ) PBCloseAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA401);
  1160.  
  1161.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1162.                                                                                             #pragma parameter __D0 PBCloseImmed(__A0)
  1163.                                                                                             #endif
  1164. EXTERN_API( OSErr ) PBCloseImmed(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA201);
  1165.  
  1166.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1167.                                                                                             #pragma parameter __D0 PBReadSync(__A0)
  1168.                                                                                             #endif
  1169. EXTERN_API( OSErr ) PBReadSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA002);
  1170.  
  1171.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1172.                                                                                             #pragma parameter __D0 PBReadAsync(__A0)
  1173.                                                                                             #endif
  1174. EXTERN_API( OSErr ) PBReadAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA402);
  1175.  
  1176.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1177.                                                                                             #pragma parameter __D0 PBReadImmed(__A0)
  1178.                                                                                             #endif
  1179. EXTERN_API( OSErr ) PBReadImmed(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA202);
  1180.  
  1181.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1182.                                                                                             #pragma parameter __D0 PBWriteSync(__A0)
  1183.                                                                                             #endif
  1184. EXTERN_API( OSErr ) PBWriteSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA003);
  1185.  
  1186.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1187.                                                                                             #pragma parameter __D0 PBWriteAsync(__A0)
  1188.                                                                                             #endif
  1189. EXTERN_API( OSErr ) PBWriteAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA403);
  1190.  
  1191.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1192.                                                                                             #pragma parameter __D0 PBWriteImmed(__A0)
  1193.                                                                                             #endif
  1194. EXTERN_API( OSErr ) PBWriteImmed(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA203);
  1195.  
  1196. #endif  /* OLDROUTINELOCATIONS */
  1197.  
  1198.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1199.                                                                                             #pragma parameter __D0 PBGetVInfoSync(__A0)
  1200.                                                                                             #endif
  1201. EXTERN_API( OSErr ) PBGetVInfoSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA007);
  1202.  
  1203.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1204.                                                                                             #pragma parameter __D0 PBGetVInfoAsync(__A0)
  1205.                                                                                             #endif
  1206. EXTERN_API( OSErr ) PBGetVInfoAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA407);
  1207.  
  1208.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1209.                                                                                             #pragma parameter __D0 PBXGetVolInfoSync(__A0)
  1210.                                                                                             #endif
  1211. EXTERN_API( OSErr ) PBXGetVolInfoSync(XVolumeParamPtr paramBlock)                                                                                            TWOWORDINLINE(0x7012, 0xA060);
  1212.  
  1213.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1214.                                                                                             #pragma parameter __D0 PBXGetVolInfoAsync(__A0)
  1215.                                                                                             #endif
  1216. EXTERN_API( OSErr ) PBXGetVolInfoAsync(XVolumeParamPtr paramBlock)                                                                                            TWOWORDINLINE(0x7012, 0xA460);
  1217.  
  1218.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1219.                                                                                             #pragma parameter __D0 PBGetVolSync(__A0)
  1220.                                                                                             #endif
  1221. EXTERN_API( OSErr ) PBGetVolSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA014);
  1222.  
  1223.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1224.                                                                                             #pragma parameter __D0 PBGetVolAsync(__A0)
  1225.                                                                                             #endif
  1226. EXTERN_API( OSErr ) PBGetVolAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA414);
  1227.  
  1228.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1229.                                                                                             #pragma parameter __D0 PBSetVolSync(__A0)
  1230.                                                                                             #endif
  1231. EXTERN_API( OSErr ) PBSetVolSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA015);
  1232.  
  1233.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1234.                                                                                             #pragma parameter __D0 PBSetVolAsync(__A0)
  1235.                                                                                             #endif
  1236. EXTERN_API( OSErr ) PBSetVolAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA415);
  1237.  
  1238.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1239.                                                                                             #pragma parameter __D0 PBFlushVolSync(__A0)
  1240.                                                                                             #endif
  1241. EXTERN_API( OSErr ) PBFlushVolSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA013);
  1242.  
  1243.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1244.                                                                                             #pragma parameter __D0 PBFlushVolAsync(__A0)
  1245.                                                                                             #endif
  1246. EXTERN_API( OSErr ) PBFlushVolAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA413);
  1247.  
  1248.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1249.                                                                                             #pragma parameter __D0 PBCreateSync(__A0)
  1250.                                                                                             #endif
  1251. EXTERN_API( OSErr ) PBCreateSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA008);
  1252.  
  1253.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1254.                                                                                             #pragma parameter __D0 PBCreateAsync(__A0)
  1255.                                                                                             #endif
  1256. EXTERN_API( OSErr ) PBCreateAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA408);
  1257.  
  1258.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1259.                                                                                             #pragma parameter __D0 PBDeleteSync(__A0)
  1260.                                                                                             #endif
  1261. EXTERN_API( OSErr ) PBDeleteSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA009);
  1262.  
  1263.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1264.                                                                                             #pragma parameter __D0 PBDeleteAsync(__A0)
  1265.                                                                                             #endif
  1266. EXTERN_API( OSErr ) PBDeleteAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA409);
  1267.  
  1268.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1269.                                                                                             #pragma parameter __D0 PBOpenDFSync(__A0)
  1270.                                                                                             #endif
  1271. EXTERN_API( OSErr ) PBOpenDFSync(ParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x701A, 0xA060);
  1272.  
  1273.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1274.                                                                                             #pragma parameter __D0 PBOpenDFAsync(__A0)
  1275.                                                                                             #endif
  1276. EXTERN_API( OSErr ) PBOpenDFAsync(ParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x701A, 0xA460);
  1277.  
  1278.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1279.                                                                                             #pragma parameter __D0 PBOpenRFSync(__A0)
  1280.                                                                                             #endif
  1281. EXTERN_API( OSErr ) PBOpenRFSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA00A);
  1282.  
  1283.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1284.                                                                                             #pragma parameter __D0 PBOpenRFAsync(__A0)
  1285.                                                                                             #endif
  1286. EXTERN_API( OSErr ) PBOpenRFAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA40A);
  1287.  
  1288.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1289.                                                                                             #pragma parameter __D0 PBRenameSync(__A0)
  1290.                                                                                             #endif
  1291. EXTERN_API( OSErr ) PBRenameSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA00B);
  1292.  
  1293.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1294.                                                                                             #pragma parameter __D0 PBRenameAsync(__A0)
  1295.                                                                                             #endif
  1296. EXTERN_API( OSErr ) PBRenameAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA40B);
  1297.  
  1298.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1299.                                                                                             #pragma parameter __D0 PBGetFInfoSync(__A0)
  1300.                                                                                             #endif
  1301. EXTERN_API( OSErr ) PBGetFInfoSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA00C);
  1302.  
  1303.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1304.                                                                                             #pragma parameter __D0 PBGetFInfoAsync(__A0)
  1305.                                                                                             #endif
  1306. EXTERN_API( OSErr ) PBGetFInfoAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA40C);
  1307.  
  1308.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1309.                                                                                             #pragma parameter __D0 PBSetFInfoSync(__A0)
  1310.                                                                                             #endif
  1311. EXTERN_API( OSErr ) PBSetFInfoSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA00D);
  1312.  
  1313.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1314.                                                                                             #pragma parameter __D0 PBSetFInfoAsync(__A0)
  1315.                                                                                             #endif
  1316. EXTERN_API( OSErr ) PBSetFInfoAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA40D);
  1317.  
  1318.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1319.                                                                                             #pragma parameter __D0 PBSetFLockSync(__A0)
  1320.                                                                                             #endif
  1321. EXTERN_API( OSErr ) PBSetFLockSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA041);
  1322.  
  1323.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1324.                                                                                             #pragma parameter __D0 PBSetFLockAsync(__A0)
  1325.                                                                                             #endif
  1326. EXTERN_API( OSErr ) PBSetFLockAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA441);
  1327.  
  1328.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1329.                                                                                             #pragma parameter __D0 PBRstFLockSync(__A0)
  1330.                                                                                             #endif
  1331. EXTERN_API( OSErr ) PBRstFLockSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA042);
  1332.  
  1333.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1334.                                                                                             #pragma parameter __D0 PBRstFLockAsync(__A0)
  1335.                                                                                             #endif
  1336. EXTERN_API( OSErr ) PBRstFLockAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA442);
  1337.  
  1338.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1339.                                                                                             #pragma parameter __D0 PBSetFVersSync(__A0)
  1340.                                                                                             #endif
  1341. EXTERN_API( OSErr ) PBSetFVersSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA043);
  1342.  
  1343.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1344.                                                                                             #pragma parameter __D0 PBSetFVersAsync(__A0)
  1345.                                                                                             #endif
  1346. EXTERN_API( OSErr ) PBSetFVersAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA443);
  1347.  
  1348.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1349.                                                                                             #pragma parameter __D0 PBAllocateSync(__A0)
  1350.                                                                                             #endif
  1351. EXTERN_API( OSErr ) PBAllocateSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA010);
  1352.  
  1353.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1354.                                                                                             #pragma parameter __D0 PBAllocateAsync(__A0)
  1355.                                                                                             #endif
  1356. EXTERN_API( OSErr ) PBAllocateAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA410);
  1357.  
  1358.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1359.                                                                                             #pragma parameter __D0 PBGetEOFSync(__A0)
  1360.                                                                                             #endif
  1361. EXTERN_API( OSErr ) PBGetEOFSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA011);
  1362.  
  1363.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1364.                                                                                             #pragma parameter __D0 PBGetEOFAsync(__A0)
  1365.                                                                                             #endif
  1366. EXTERN_API( OSErr ) PBGetEOFAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA411);
  1367.  
  1368.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1369.                                                                                             #pragma parameter __D0 PBSetEOFSync(__A0)
  1370.                                                                                             #endif
  1371. EXTERN_API( OSErr ) PBSetEOFSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA012);
  1372.  
  1373.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1374.                                                                                             #pragma parameter __D0 PBSetEOFAsync(__A0)
  1375.                                                                                             #endif
  1376. EXTERN_API( OSErr ) PBSetEOFAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA412);
  1377.  
  1378.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1379.                                                                                             #pragma parameter __D0 PBGetFPosSync(__A0)
  1380.                                                                                             #endif
  1381. EXTERN_API( OSErr ) PBGetFPosSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA018);
  1382.  
  1383.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1384.                                                                                             #pragma parameter __D0 PBGetFPosAsync(__A0)
  1385.                                                                                             #endif
  1386. EXTERN_API( OSErr ) PBGetFPosAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA418);
  1387.  
  1388.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1389.                                                                                             #pragma parameter __D0 PBSetFPosSync(__A0)
  1390.                                                                                             #endif
  1391. EXTERN_API( OSErr ) PBSetFPosSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA044);
  1392.  
  1393.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1394.                                                                                             #pragma parameter __D0 PBSetFPosAsync(__A0)
  1395.                                                                                             #endif
  1396. EXTERN_API( OSErr ) PBSetFPosAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA444);
  1397.  
  1398.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1399.                                                                                             #pragma parameter __D0 PBFlushFileSync(__A0)
  1400.                                                                                             #endif
  1401. EXTERN_API( OSErr ) PBFlushFileSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA045);
  1402.  
  1403.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1404.                                                                                             #pragma parameter __D0 PBFlushFileAsync(__A0)
  1405.                                                                                             #endif
  1406. EXTERN_API( OSErr ) PBFlushFileAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA445);
  1407.  
  1408.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1409.                                                                                             #pragma parameter __D0 PBMountVol(__A0)
  1410.                                                                                             #endif
  1411. EXTERN_API( OSErr ) PBMountVol(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA00F);
  1412.  
  1413.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1414.                                                                                             #pragma parameter __D0 PBUnmountVol(__A0)
  1415.                                                                                             #endif
  1416. EXTERN_API( OSErr ) PBUnmountVol(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA00E);
  1417.  
  1418.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1419.                                                                                             #pragma parameter __D0 PBUnmountVolImmed(__A0)
  1420.                                                                                             #endif
  1421. EXTERN_API( OSErr ) PBUnmountVolImmed(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA20E);
  1422.  
  1423.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1424.                                                                                             #pragma parameter __D0 PBEject(__A0)
  1425.                                                                                             #endif
  1426. EXTERN_API( OSErr ) PBEject(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA017);
  1427.  
  1428.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1429.                                                                                             #pragma parameter __D0 PBOffLine(__A0)
  1430.                                                                                             #endif
  1431. EXTERN_API( OSErr ) PBOffLine(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA035);
  1432.  
  1433.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1434.                                                                                             #pragma parameter __D0 PBCatSearchSync(__A0)
  1435.                                                                                             #endif
  1436. EXTERN_API( OSErr ) PBCatSearchSync(CSParamPtr paramBlock)                                                                                            TWOWORDINLINE(0x7018, 0xA260);
  1437.  
  1438.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1439.                                                                                             #pragma parameter __D0 PBCatSearchAsync(__A0)
  1440.                                                                                             #endif
  1441. EXTERN_API( OSErr ) PBCatSearchAsync(CSParamPtr paramBlock)                                                                                            TWOWORDINLINE(0x7018, 0xA660);
  1442.  
  1443. EXTERN_API( OSErr )
  1444. SetVol                            (ConstStr63Param         volName,
  1445.                                  short                     vRefNum);
  1446.  
  1447. EXTERN_API( OSErr )
  1448. UnmountVol                        (ConstStr63Param         volName,
  1449.                                  short                     vRefNum);
  1450.  
  1451. EXTERN_API( OSErr )
  1452. Eject                            (ConstStr63Param         volName,
  1453.                                  short                     vRefNum);
  1454.  
  1455. EXTERN_API( OSErr )
  1456. FlushVol                        (ConstStr63Param         volName,
  1457.                                  short                     vRefNum);
  1458.  
  1459. EXTERN_API( OSErr )
  1460. HSetVol                            (ConstStr63Param         volName,
  1461.                                  short                     vRefNum,
  1462.                                  long                     dirID);
  1463.  
  1464. #if OLDROUTINELOCATIONS
  1465. EXTERN_API( void )
  1466. AddDrive                        (short                     drvrRefNum,
  1467.                                  short                     drvNum,
  1468.                                  DrvQElPtr                 qEl);
  1469.  
  1470. #endif  /* OLDROUTINELOCATIONS */
  1471.  
  1472. EXTERN_API( OSErr )
  1473. FSOpen                            (ConstStr255Param         fileName,
  1474.                                  short                     vRefNum,
  1475.                                  short *                refNum);
  1476.  
  1477. EXTERN_API( OSErr )
  1478. OpenDF                            (ConstStr255Param         fileName,
  1479.                                  short                     vRefNum,
  1480.                                  short *                refNum);
  1481.  
  1482. EXTERN_API( OSErr )
  1483. FSClose                            (short                     refNum);
  1484.  
  1485. EXTERN_API( OSErr )
  1486. FSRead                            (short                     refNum,
  1487.                                  long *                    count,
  1488.                                  void *                    buffPtr);
  1489.  
  1490. EXTERN_API( OSErr )
  1491. FSWrite                            (short                     refNum,
  1492.                                  long *                    count,
  1493.                                  const void *            buffPtr);
  1494.  
  1495. EXTERN_API( OSErr )
  1496. GetVInfo                        (short                     drvNum,
  1497.                                  StringPtr                 volName,
  1498.                                  short *                vRefNum,
  1499.                                  long *                    freeBytes);
  1500.  
  1501. EXTERN_API( OSErr )
  1502. GetFInfo                        (ConstStr255Param         fileName,
  1503.                                  short                     vRefNum,
  1504.                                  FInfo *                fndrInfo);
  1505.  
  1506. EXTERN_API( OSErr )
  1507. GetVol                            (StringPtr                 volName,
  1508.                                  short *                vRefNum);
  1509.  
  1510. EXTERN_API( OSErr )
  1511. Create                            (ConstStr255Param         fileName,
  1512.                                  short                     vRefNum,
  1513.                                  OSType                 creator,
  1514.                                  OSType                 fileType);
  1515.  
  1516. EXTERN_API( OSErr )
  1517. FSDelete                        (ConstStr255Param         fileName,
  1518.                                  short                     vRefNum);
  1519.  
  1520. EXTERN_API( OSErr )
  1521. OpenRF                            (ConstStr255Param         fileName,
  1522.                                  short                     vRefNum,
  1523.                                  short *                refNum);
  1524.  
  1525. EXTERN_API( OSErr )
  1526. Rename                            (ConstStr255Param         oldName,
  1527.                                  short                     vRefNum,
  1528.                                  ConstStr255Param         newName);
  1529.  
  1530. EXTERN_API( OSErr )
  1531. SetFInfo                        (ConstStr255Param         fileName,
  1532.                                  short                     vRefNum,
  1533.                                  const FInfo *            fndrInfo);
  1534.  
  1535. EXTERN_API( OSErr )
  1536. SetFLock                        (ConstStr255Param         fileName,
  1537.                                  short                     vRefNum);
  1538.  
  1539. EXTERN_API( OSErr )
  1540. RstFLock                        (ConstStr255Param         fileName,
  1541.                                  short                     vRefNum);
  1542.  
  1543. EXTERN_API( OSErr )
  1544. Allocate                        (short                     refNum,
  1545.                                  long *                    count);
  1546.  
  1547. EXTERN_API( OSErr )
  1548. GetEOF                            (short                     refNum,
  1549.                                  long *                    logEOF);
  1550.  
  1551. EXTERN_API( OSErr )
  1552. SetEOF                            (short                     refNum,
  1553.                                  long                     logEOF);
  1554.  
  1555. EXTERN_API( OSErr )
  1556. GetFPos                            (short                     refNum,
  1557.                                  long *                    filePos);
  1558.  
  1559. EXTERN_API( OSErr )
  1560. SetFPos                            (short                     refNum,
  1561.                                  short                     posMode,
  1562.                                  long                     posOff);
  1563.  
  1564. EXTERN_API( OSErr )
  1565. GetVRefNum                        (short                     fileRefNum,
  1566.                                  short *                vRefNum);
  1567.  
  1568. #if CGLUESUPPORTED
  1569. EXTERN_API_C( OSErr )
  1570. fsopen                            (const char *            fileName,
  1571.                                  short                     vRefNum,
  1572.                                  short *                refNum);
  1573.  
  1574. EXTERN_API_C( OSErr )
  1575. getvinfo                        (short                     drvNum,
  1576.                                  char *                    volName,
  1577.                                  short *                vRefNum,
  1578.                                  long *                    freeBytes);
  1579.  
  1580. EXTERN_API_C( OSErr )
  1581. getfinfo                        (const char *            fileName,
  1582.                                  short                     vRefNum,
  1583.                                  FInfo *                fndrInfo);
  1584.  
  1585. EXTERN_API_C( OSErr )
  1586. getvol                            (char *                    volName,
  1587.                                  short *                vRefNum);
  1588.  
  1589. EXTERN_API_C( OSErr )
  1590. setvol                            (const char *            volName,
  1591.                                  short                     vRefNum);
  1592.  
  1593. EXTERN_API_C( OSErr )
  1594. unmountvol                        (const char *            volName,
  1595.                                  short                     vRefNum);
  1596.  
  1597. EXTERN_API_C( OSErr )
  1598. eject                            (const char *            volName,
  1599.                                  short                     vRefNum);
  1600.  
  1601. EXTERN_API_C( OSErr )
  1602. flushvol                        (const char *            volName,
  1603.                                  short                     vRefNum);
  1604.  
  1605. EXTERN_API_C( OSErr )
  1606. create                            (const char *            fileName,
  1607.                                  short                     vRefNum,
  1608.                                  OSType                 creator,
  1609.                                  OSType                 fileType);
  1610.  
  1611. EXTERN_API_C( OSErr )
  1612. fsdelete                        (const char *            fileName,
  1613.                                  short                     vRefNum);
  1614.  
  1615. EXTERN_API_C( OSErr )
  1616. openrf                            (const char *            fileName,
  1617.                                  short                     vRefNum,
  1618.                                  short *                refNum);
  1619.  
  1620. EXTERN_API_C( OSErr )
  1621. fsrename                        (const char *            oldName,
  1622.                                  short                     vRefNum,
  1623.                                  const char *            newName);
  1624.  
  1625. EXTERN_API_C( OSErr )
  1626. setfinfo                        (const char *            fileName,
  1627.                                  short                     vRefNum,
  1628.                                  const FInfo *            fndrInfo);
  1629.  
  1630. EXTERN_API_C( OSErr )
  1631. setflock                        (const char *            fileName,
  1632.                                  short                     vRefNum);
  1633.  
  1634. EXTERN_API_C( OSErr )
  1635. rstflock                        (const char *            fileName,
  1636.                                  short                     vRefNum);
  1637.  
  1638. #endif  /* CGLUESUPPORTED */
  1639.  
  1640.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1641.                                                                                             #pragma parameter __D0 PBOpenWDSync(__A0)
  1642.                                                                                             #endif
  1643. EXTERN_API( OSErr ) PBOpenWDSync(WDPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7001, 0xA260);
  1644.  
  1645.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1646.                                                                                             #pragma parameter __D0 PBOpenWDAsync(__A0)
  1647.                                                                                             #endif
  1648. EXTERN_API( OSErr ) PBOpenWDAsync(WDPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7001, 0xA660);
  1649.  
  1650.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1651.                                                                                             #pragma parameter __D0 PBCloseWDSync(__A0)
  1652.                                                                                             #endif
  1653. EXTERN_API( OSErr ) PBCloseWDSync(WDPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7002, 0xA260);
  1654.  
  1655.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1656.                                                                                             #pragma parameter __D0 PBCloseWDAsync(__A0)
  1657.                                                                                             #endif
  1658. EXTERN_API( OSErr ) PBCloseWDAsync(WDPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7002, 0xA660);
  1659.  
  1660.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1661.                                                                                             #pragma parameter __D0 PBHSetVolSync(__A0)
  1662.                                                                                             #endif
  1663. EXTERN_API( OSErr ) PBHSetVolSync(WDPBPtr paramBlock)                                                                                            ONEWORDINLINE(0xA215);
  1664.  
  1665.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1666.                                                                                             #pragma parameter __D0 PBHSetVolAsync(__A0)
  1667.                                                                                             #endif
  1668. EXTERN_API( OSErr ) PBHSetVolAsync(WDPBPtr paramBlock)                                                                                            ONEWORDINLINE(0xA615);
  1669.  
  1670.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1671.                                                                                             #pragma parameter __D0 PBHGetVolSync(__A0)
  1672.                                                                                             #endif
  1673. EXTERN_API( OSErr ) PBHGetVolSync(WDPBPtr paramBlock)                                                                                            ONEWORDINLINE(0xA214);
  1674.  
  1675.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1676.                                                                                             #pragma parameter __D0 PBHGetVolAsync(__A0)
  1677.                                                                                             #endif
  1678. EXTERN_API( OSErr ) PBHGetVolAsync(WDPBPtr paramBlock)                                                                                            ONEWORDINLINE(0xA614);
  1679.  
  1680.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1681.                                                                                             #pragma parameter __D0 PBCatMoveSync(__A0)
  1682.                                                                                             #endif
  1683. EXTERN_API( OSErr ) PBCatMoveSync(CMovePBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7005, 0xA260);
  1684.  
  1685.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1686.                                                                                             #pragma parameter __D0 PBCatMoveAsync(__A0)
  1687.                                                                                             #endif
  1688. EXTERN_API( OSErr ) PBCatMoveAsync(CMovePBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7005, 0xA660);
  1689.  
  1690.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1691.                                                                                             #pragma parameter __D0 PBDirCreateSync(__A0)
  1692.                                                                                             #endif
  1693. EXTERN_API( OSErr ) PBDirCreateSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7006, 0xA260);
  1694.  
  1695.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1696.                                                                                             #pragma parameter __D0 PBDirCreateAsync(__A0)
  1697.                                                                                             #endif
  1698. EXTERN_API( OSErr ) PBDirCreateAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7006, 0xA660);
  1699.  
  1700.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1701.                                                                                             #pragma parameter __D0 PBGetWDInfoSync(__A0)
  1702.                                                                                             #endif
  1703. EXTERN_API( OSErr ) PBGetWDInfoSync(WDPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7007, 0xA260);
  1704.  
  1705.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1706.                                                                                             #pragma parameter __D0 PBGetWDInfoAsync(__A0)
  1707.                                                                                             #endif
  1708. EXTERN_API( OSErr ) PBGetWDInfoAsync(WDPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7007, 0xA660);
  1709.  
  1710.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1711.                                                                                             #pragma parameter __D0 PBGetFCBInfoSync(__A0)
  1712.                                                                                             #endif
  1713. EXTERN_API( OSErr ) PBGetFCBInfoSync(FCBPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7008, 0xA260);
  1714.  
  1715.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1716.                                                                                             #pragma parameter __D0 PBGetFCBInfoAsync(__A0)
  1717.                                                                                             #endif
  1718. EXTERN_API( OSErr ) PBGetFCBInfoAsync(FCBPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7008, 0xA660);
  1719.  
  1720.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1721.                                                                                             #pragma parameter __D0 PBGetCatInfoSync(__A0)
  1722.                                                                                             #endif
  1723. EXTERN_API( OSErr ) PBGetCatInfoSync(CInfoPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7009, 0xA260);
  1724.  
  1725.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1726.                                                                                             #pragma parameter __D0 PBGetCatInfoAsync(__A0)
  1727.                                                                                             #endif
  1728. EXTERN_API( OSErr ) PBGetCatInfoAsync(CInfoPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7009, 0xA660);
  1729.  
  1730.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1731.                                                                                             #pragma parameter __D0 PBSetCatInfoSync(__A0)
  1732.                                                                                             #endif
  1733. EXTERN_API( OSErr ) PBSetCatInfoSync(CInfoPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x700A, 0xA260);
  1734.  
  1735.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1736.                                                                                             #pragma parameter __D0 PBSetCatInfoAsync(__A0)
  1737.                                                                                             #endif
  1738. EXTERN_API( OSErr ) PBSetCatInfoAsync(CInfoPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x700A, 0xA660);
  1739.  
  1740.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1741.                                                                                             #pragma parameter __D0 PBAllocContigSync(__A0)
  1742.                                                                                             #endif
  1743. EXTERN_API( OSErr ) PBAllocContigSync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA210);
  1744.  
  1745.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1746.                                                                                             #pragma parameter __D0 PBAllocContigAsync(__A0)
  1747.                                                                                             #endif
  1748. EXTERN_API( OSErr ) PBAllocContigAsync(ParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA610);
  1749.  
  1750.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1751.                                                                                             #pragma parameter __D0 PBLockRangeSync(__A0)
  1752.                                                                                             #endif
  1753. EXTERN_API( OSErr ) PBLockRangeSync(ParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7010, 0xA260);
  1754.  
  1755.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1756.                                                                                             #pragma parameter __D0 PBLockRangeAsync(__A0)
  1757.                                                                                             #endif
  1758. EXTERN_API( OSErr ) PBLockRangeAsync(ParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7010, 0xA660);
  1759.  
  1760.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1761.                                                                                             #pragma parameter __D0 PBUnlockRangeSync(__A0)
  1762.                                                                                             #endif
  1763. EXTERN_API( OSErr ) PBUnlockRangeSync(ParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7011, 0xA260);
  1764.  
  1765.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1766.                                                                                             #pragma parameter __D0 PBUnlockRangeAsync(__A0)
  1767.                                                                                             #endif
  1768. EXTERN_API( OSErr ) PBUnlockRangeAsync(ParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7011, 0xA660);
  1769.  
  1770.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1771.                                                                                             #pragma parameter __D0 PBSetVInfoSync(__A0)
  1772.                                                                                             #endif
  1773. EXTERN_API( OSErr ) PBSetVInfoSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x700B, 0xA260);
  1774.  
  1775.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1776.                                                                                             #pragma parameter __D0 PBSetVInfoAsync(__A0)
  1777.                                                                                             #endif
  1778. EXTERN_API( OSErr ) PBSetVInfoAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x700B, 0xA660);
  1779.  
  1780.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1781.                                                                                             #pragma parameter __D0 PBHGetVInfoSync(__A0)
  1782.                                                                                             #endif
  1783. EXTERN_API( OSErr ) PBHGetVInfoSync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA207);
  1784.  
  1785.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1786.                                                                                             #pragma parameter __D0 PBHGetVInfoAsync(__A0)
  1787.                                                                                             #endif
  1788. EXTERN_API( OSErr ) PBHGetVInfoAsync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA607);
  1789.  
  1790.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1791.                                                                                             #pragma parameter __D0 PBHOpenSync(__A0)
  1792.                                                                                             #endif
  1793. EXTERN_API( OSErr ) PBHOpenSync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA200);
  1794.  
  1795.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1796.                                                                                             #pragma parameter __D0 PBHOpenAsync(__A0)
  1797.                                                                                             #endif
  1798. EXTERN_API( OSErr ) PBHOpenAsync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA600);
  1799.  
  1800.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1801.                                                                                             #pragma parameter __D0 PBHOpenRFSync(__A0)
  1802.                                                                                             #endif
  1803. EXTERN_API( OSErr ) PBHOpenRFSync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA20A);
  1804.  
  1805.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1806.                                                                                             #pragma parameter __D0 PBHOpenRFAsync(__A0)
  1807.                                                                                             #endif
  1808. EXTERN_API( OSErr ) PBHOpenRFAsync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA60A);
  1809.  
  1810.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1811.                                                                                             #pragma parameter __D0 PBHOpenDFSync(__A0)
  1812.                                                                                             #endif
  1813. EXTERN_API( OSErr ) PBHOpenDFSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x701A, 0xA260);
  1814.  
  1815.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1816.                                                                                             #pragma parameter __D0 PBHOpenDFAsync(__A0)
  1817.                                                                                             #endif
  1818. EXTERN_API( OSErr ) PBHOpenDFAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x701A, 0xA660);
  1819.  
  1820.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1821.                                                                                             #pragma parameter __D0 PBHCreateSync(__A0)
  1822.                                                                                             #endif
  1823. EXTERN_API( OSErr ) PBHCreateSync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA208);
  1824.  
  1825.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1826.                                                                                             #pragma parameter __D0 PBHCreateAsync(__A0)
  1827.                                                                                             #endif
  1828. EXTERN_API( OSErr ) PBHCreateAsync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA608);
  1829.  
  1830.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1831.                                                                                             #pragma parameter __D0 PBHDeleteSync(__A0)
  1832.                                                                                             #endif
  1833. EXTERN_API( OSErr ) PBHDeleteSync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA209);
  1834.  
  1835.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1836.                                                                                             #pragma parameter __D0 PBHDeleteAsync(__A0)
  1837.                                                                                             #endif
  1838. EXTERN_API( OSErr ) PBHDeleteAsync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA609);
  1839.  
  1840.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1841.                                                                                             #pragma parameter __D0 PBHRenameSync(__A0)
  1842.                                                                                             #endif
  1843. EXTERN_API( OSErr ) PBHRenameSync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA20B);
  1844.  
  1845.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1846.                                                                                             #pragma parameter __D0 PBHRenameAsync(__A0)
  1847.                                                                                             #endif
  1848. EXTERN_API( OSErr ) PBHRenameAsync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA60B);
  1849.  
  1850.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1851.                                                                                             #pragma parameter __D0 PBHRstFLockSync(__A0)
  1852.                                                                                             #endif
  1853. EXTERN_API( OSErr ) PBHRstFLockSync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA242);
  1854.  
  1855.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1856.                                                                                             #pragma parameter __D0 PBHRstFLockAsync(__A0)
  1857.                                                                                             #endif
  1858. EXTERN_API( OSErr ) PBHRstFLockAsync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA642);
  1859.  
  1860.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1861.                                                                                             #pragma parameter __D0 PBHSetFLockSync(__A0)
  1862.                                                                                             #endif
  1863. EXTERN_API( OSErr ) PBHSetFLockSync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA241);
  1864.  
  1865.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1866.                                                                                             #pragma parameter __D0 PBHSetFLockAsync(__A0)
  1867.                                                                                             #endif
  1868. EXTERN_API( OSErr ) PBHSetFLockAsync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA641);
  1869.  
  1870.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1871.                                                                                             #pragma parameter __D0 PBHGetFInfoSync(__A0)
  1872.                                                                                             #endif
  1873. EXTERN_API( OSErr ) PBHGetFInfoSync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA20C);
  1874.  
  1875.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1876.                                                                                             #pragma parameter __D0 PBHGetFInfoAsync(__A0)
  1877.                                                                                             #endif
  1878. EXTERN_API( OSErr ) PBHGetFInfoAsync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA60C);
  1879.  
  1880.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1881.                                                                                             #pragma parameter __D0 PBHSetFInfoSync(__A0)
  1882.                                                                                             #endif
  1883. EXTERN_API( OSErr ) PBHSetFInfoSync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA20D);
  1884.  
  1885.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1886.                                                                                             #pragma parameter __D0 PBHSetFInfoAsync(__A0)
  1887.                                                                                             #endif
  1888. EXTERN_API( OSErr ) PBHSetFInfoAsync(HParmBlkPtr paramBlock)                                                                                            ONEWORDINLINE(0xA60D);
  1889.  
  1890.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1891.                                                                                             #pragma parameter __D0 PBMakeFSSpecSync(__A0)
  1892.                                                                                             #endif
  1893. EXTERN_API( OSErr ) PBMakeFSSpecSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x701B, 0xA260);
  1894.  
  1895.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1896.                                                                                             #pragma parameter __D0 PBMakeFSSpecAsync(__A0)
  1897.                                                                                             #endif
  1898. EXTERN_API( OSErr ) PBMakeFSSpecAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x701B, 0xA660);
  1899.  
  1900. EXTERN_API( void ) FInitQueue(void )                                                                                            ONEWORDINLINE(0xA016);
  1901.  
  1902.  
  1903. EXTERN_API( QHdrPtr )
  1904. GetFSQHdr                        (void)                                                        THREEWORDINLINE(0x2EBC, 0x0000, 0x0360);
  1905.  
  1906. EXTERN_API( QHdrPtr )
  1907. GetVCBQHdr                        (void)                                                        THREEWORDINLINE(0x2EBC, 0x0000, 0x0356);
  1908.  
  1909. #if OLDROUTINELOCATIONS
  1910. EXTERN_API( QHdrPtr )
  1911. GetDrvQHdr                        (void)                                                        THREEWORDINLINE(0x2EBC, 0x0000, 0x0308);
  1912.  
  1913. #endif  /* OLDROUTINELOCATIONS */
  1914.  
  1915. EXTERN_API( OSErr )
  1916. HGetVol                            (StringPtr                 volName,
  1917.                                  short *                vRefNum,
  1918.                                  long *                    dirID);
  1919.  
  1920. EXTERN_API( OSErr )
  1921. HOpen                            (short                     vRefNum,
  1922.                                  long                     dirID,
  1923.                                  ConstStr255Param         fileName,
  1924.                                  SInt8                     permission,
  1925.                                  short *                refNum);
  1926.  
  1927. EXTERN_API( OSErr )
  1928. HOpenDF                            (short                     vRefNum,
  1929.                                  long                     dirID,
  1930.                                  ConstStr255Param         fileName,
  1931.                                  SInt8                     permission,
  1932.                                  short *                refNum);
  1933.  
  1934. EXTERN_API( OSErr )
  1935. HOpenRF                            (short                     vRefNum,
  1936.                                  long                     dirID,
  1937.                                  ConstStr255Param         fileName,
  1938.                                  SInt8                     permission,
  1939.                                  short *                refNum);
  1940.  
  1941. EXTERN_API( OSErr )
  1942. AllocContig                        (short                     refNum,
  1943.                                  long *                    count);
  1944.  
  1945. EXTERN_API( OSErr )
  1946. HCreate                            (short                     vRefNum,
  1947.                                  long                     dirID,
  1948.                                  ConstStr255Param         fileName,
  1949.                                  OSType                 creator,
  1950.                                  OSType                 fileType);
  1951.  
  1952. EXTERN_API( OSErr )
  1953. DirCreate                        (short                     vRefNum,
  1954.                                  long                     parentDirID,
  1955.                                  ConstStr255Param         directoryName,
  1956.                                  long *                    createdDirID);
  1957.  
  1958. EXTERN_API( OSErr )
  1959. HDelete                            (short                     vRefNum,
  1960.                                  long                     dirID,
  1961.                                  ConstStr255Param         fileName);
  1962.  
  1963. EXTERN_API( OSErr )
  1964. HGetFInfo                        (short                     vRefNum,
  1965.                                  long                     dirID,
  1966.                                  ConstStr255Param         fileName,
  1967.                                  FInfo *                fndrInfo);
  1968.  
  1969. EXTERN_API( OSErr )
  1970. HSetFInfo                        (short                     vRefNum,
  1971.                                  long                     dirID,
  1972.                                  ConstStr255Param         fileName,
  1973.                                  const FInfo *            fndrInfo);
  1974.  
  1975. EXTERN_API( OSErr )
  1976. HSetFLock                        (short                     vRefNum,
  1977.                                  long                     dirID,
  1978.                                  ConstStr255Param         fileName);
  1979.  
  1980. EXTERN_API( OSErr )
  1981. HRstFLock                        (short                     vRefNum,
  1982.                                  long                     dirID,
  1983.                                  ConstStr255Param         fileName);
  1984.  
  1985. EXTERN_API( OSErr )
  1986. HRename                            (short                     vRefNum,
  1987.                                  long                     dirID,
  1988.                                  ConstStr255Param         oldName,
  1989.                                  ConstStr255Param         newName);
  1990.  
  1991. EXTERN_API( OSErr )
  1992. CatMove                            (short                     vRefNum,
  1993.                                  long                     dirID,
  1994.                                  ConstStr255Param         oldName,
  1995.                                  long                     newDirID,
  1996.                                  ConstStr255Param         newName);
  1997.  
  1998. EXTERN_API( OSErr )
  1999. OpenWD                            (short                     vRefNum,
  2000.                                  long                     dirID,
  2001.                                  long                     procID,
  2002.                                  short *                wdRefNum);
  2003.  
  2004. EXTERN_API( OSErr )
  2005. CloseWD                            (short                     wdRefNum);
  2006.  
  2007. EXTERN_API( OSErr )
  2008. GetWDInfo                        (short                     wdRefNum,
  2009.                                  short *                vRefNum,
  2010.                                  long *                    dirID,
  2011.                                  long *                    procID);
  2012.  
  2013. /*  shared environment  */
  2014.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2015.                                                                                             #pragma parameter __D0 PBHGetVolParmsSync(__A0)
  2016.                                                                                             #endif
  2017. EXTERN_API( OSErr ) PBHGetVolParmsSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7030, 0xA260);
  2018.  
  2019.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2020.                                                                                             #pragma parameter __D0 PBHGetVolParmsAsync(__A0)
  2021.                                                                                             #endif
  2022. EXTERN_API( OSErr ) PBHGetVolParmsAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7030, 0xA660);
  2023.  
  2024.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2025.                                                                                             #pragma parameter __D0 PBHGetLogInInfoSync(__A0)
  2026.                                                                                             #endif
  2027. EXTERN_API( OSErr ) PBHGetLogInInfoSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7031, 0xA260);
  2028.  
  2029.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2030.                                                                                             #pragma parameter __D0 PBHGetLogInInfoAsync(__A0)
  2031.                                                                                             #endif
  2032. EXTERN_API( OSErr ) PBHGetLogInInfoAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7031, 0xA660);
  2033.  
  2034.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2035.                                                                                             #pragma parameter __D0 PBHGetDirAccessSync(__A0)
  2036.                                                                                             #endif
  2037. EXTERN_API( OSErr ) PBHGetDirAccessSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7032, 0xA260);
  2038.  
  2039.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2040.                                                                                             #pragma parameter __D0 PBHGetDirAccessAsync(__A0)
  2041.                                                                                             #endif
  2042. EXTERN_API( OSErr ) PBHGetDirAccessAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7032, 0xA660);
  2043.  
  2044.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2045.                                                                                             #pragma parameter __D0 PBHSetDirAccessSync(__A0)
  2046.                                                                                             #endif
  2047. EXTERN_API( OSErr ) PBHSetDirAccessSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7033, 0xA260);
  2048.  
  2049.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2050.                                                                                             #pragma parameter __D0 PBHSetDirAccessAsync(__A0)
  2051.                                                                                             #endif
  2052. EXTERN_API( OSErr ) PBHSetDirAccessAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7033, 0xA660);
  2053.  
  2054.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2055.                                                                                             #pragma parameter __D0 PBHMapIDSync(__A0)
  2056.                                                                                             #endif
  2057. EXTERN_API( OSErr ) PBHMapIDSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7034, 0xA260);
  2058.  
  2059.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2060.                                                                                             #pragma parameter __D0 PBHMapIDAsync(__A0)
  2061.                                                                                             #endif
  2062. EXTERN_API( OSErr ) PBHMapIDAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7034, 0xA660);
  2063.  
  2064.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2065.                                                                                             #pragma parameter __D0 PBHMapNameSync(__A0)
  2066.                                                                                             #endif
  2067. EXTERN_API( OSErr ) PBHMapNameSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7035, 0xA260);
  2068.  
  2069.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2070.                                                                                             #pragma parameter __D0 PBHMapNameAsync(__A0)
  2071.                                                                                             #endif
  2072. EXTERN_API( OSErr ) PBHMapNameAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7035, 0xA660);
  2073.  
  2074.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2075.                                                                                             #pragma parameter __D0 PBHCopyFileSync(__A0)
  2076.                                                                                             #endif
  2077. EXTERN_API( OSErr ) PBHCopyFileSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7036, 0xA260);
  2078.  
  2079.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2080.                                                                                             #pragma parameter __D0 PBHCopyFileAsync(__A0)
  2081.                                                                                             #endif
  2082. EXTERN_API( OSErr ) PBHCopyFileAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7036, 0xA660);
  2083.  
  2084.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2085.                                                                                             #pragma parameter __D0 PBHMoveRenameSync(__A0)
  2086.                                                                                             #endif
  2087. EXTERN_API( OSErr ) PBHMoveRenameSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7037, 0xA260);
  2088.  
  2089.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2090.                                                                                             #pragma parameter __D0 PBHMoveRenameAsync(__A0)
  2091.                                                                                             #endif
  2092. EXTERN_API( OSErr ) PBHMoveRenameAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7037, 0xA660);
  2093.  
  2094.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2095.                                                                                             #pragma parameter __D0 PBHOpenDenySync(__A0)
  2096.                                                                                             #endif
  2097. EXTERN_API( OSErr ) PBHOpenDenySync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7038, 0xA260);
  2098.  
  2099.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2100.                                                                                             #pragma parameter __D0 PBHOpenDenyAsync(__A0)
  2101.                                                                                             #endif
  2102. EXTERN_API( OSErr ) PBHOpenDenyAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7038, 0xA660);
  2103.  
  2104.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2105.                                                                                             #pragma parameter __D0 PBHOpenRFDenySync(__A0)
  2106.                                                                                             #endif
  2107. EXTERN_API( OSErr ) PBHOpenRFDenySync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7039, 0xA260);
  2108.  
  2109.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2110.                                                                                             #pragma parameter __D0 PBHOpenRFDenyAsync(__A0)
  2111.                                                                                             #endif
  2112. EXTERN_API( OSErr ) PBHOpenRFDenyAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7039, 0xA660);
  2113.  
  2114.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2115.                                                                                             #pragma parameter __D0 PBGetXCatInfoSync(__A0)
  2116.                                                                                             #endif
  2117. EXTERN_API( OSErr ) PBGetXCatInfoSync(XCInfoPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x703A, 0xA260);
  2118.  
  2119.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2120.                                                                                             #pragma parameter __D0 PBGetXCatInfoAsync(__A0)
  2121.                                                                                             #endif
  2122. EXTERN_API( OSErr ) PBGetXCatInfoAsync(XCInfoPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x703A, 0xA660);
  2123.  
  2124.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2125.                                                                                             #pragma parameter __D0 PBExchangeFilesSync(__A0)
  2126.                                                                                             #endif
  2127. EXTERN_API( OSErr ) PBExchangeFilesSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7017, 0xA260);
  2128.  
  2129.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2130.                                                                                             #pragma parameter __D0 PBExchangeFilesAsync(__A0)
  2131.                                                                                             #endif
  2132. EXTERN_API( OSErr ) PBExchangeFilesAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7017, 0xA660);
  2133.  
  2134.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2135.                                                                                             #pragma parameter __D0 PBCreateFileIDRefSync(__A0)
  2136.                                                                                             #endif
  2137. EXTERN_API( OSErr ) PBCreateFileIDRefSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7014, 0xA260);
  2138.  
  2139.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2140.                                                                                             #pragma parameter __D0 PBCreateFileIDRefAsync(__A0)
  2141.                                                                                             #endif
  2142. EXTERN_API( OSErr ) PBCreateFileIDRefAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7014, 0xA660);
  2143.  
  2144.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2145.                                                                                             #pragma parameter __D0 PBResolveFileIDRefSync(__A0)
  2146.                                                                                             #endif
  2147. EXTERN_API( OSErr ) PBResolveFileIDRefSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7016, 0xA260);
  2148.  
  2149.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2150.                                                                                             #pragma parameter __D0 PBResolveFileIDRefAsync(__A0)
  2151.                                                                                             #endif
  2152. EXTERN_API( OSErr ) PBResolveFileIDRefAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7016, 0xA660);
  2153.  
  2154.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2155.                                                                                             #pragma parameter __D0 PBDeleteFileIDRefSync(__A0)
  2156.                                                                                             #endif
  2157. EXTERN_API( OSErr ) PBDeleteFileIDRefSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7015, 0xA260);
  2158.  
  2159.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2160.                                                                                             #pragma parameter __D0 PBDeleteFileIDRefAsync(__A0)
  2161.                                                                                             #endif
  2162. EXTERN_API( OSErr ) PBDeleteFileIDRefAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7015, 0xA660);
  2163.  
  2164.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2165.                                                                                             #pragma parameter __D0 PBGetForeignPrivsSync(__A0)
  2166.                                                                                             #endif
  2167. EXTERN_API( OSErr ) PBGetForeignPrivsSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7060, 0xA260);
  2168.  
  2169.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2170.                                                                                             #pragma parameter __D0 PBGetForeignPrivsAsync(__A0)
  2171.                                                                                             #endif
  2172. EXTERN_API( OSErr ) PBGetForeignPrivsAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7060, 0xA660);
  2173.  
  2174.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2175.                                                                                             #pragma parameter __D0 PBSetForeignPrivsSync(__A0)
  2176.                                                                                             #endif
  2177. EXTERN_API( OSErr ) PBSetForeignPrivsSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7061, 0xA260);
  2178.  
  2179.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2180.                                                                                             #pragma parameter __D0 PBSetForeignPrivsAsync(__A0)
  2181.                                                                                             #endif
  2182. EXTERN_API( OSErr ) PBSetForeignPrivsAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7061, 0xA660);
  2183.  
  2184. /*  Desktop Manager  */
  2185.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2186.                                                                                             #pragma parameter __D0 PBDTGetPath(__A0)
  2187.                                                                                             #endif
  2188. EXTERN_API( OSErr ) PBDTGetPath(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7020, 0xA260);
  2189.  
  2190.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2191.                                                                                             #pragma parameter __D0 PBDTCloseDown(__A0)
  2192.                                                                                             #endif
  2193. EXTERN_API( OSErr ) PBDTCloseDown(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7021, 0xA260);
  2194.  
  2195.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2196.                                                                                             #pragma parameter __D0 PBDTAddIconSync(__A0)
  2197.                                                                                             #endif
  2198. EXTERN_API( OSErr ) PBDTAddIconSync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7022, 0xA260);
  2199.  
  2200.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2201.                                                                                             #pragma parameter __D0 PBDTAddIconAsync(__A0)
  2202.                                                                                             #endif
  2203. EXTERN_API( OSErr ) PBDTAddIconAsync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7022, 0xA660);
  2204.  
  2205.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2206.                                                                                             #pragma parameter __D0 PBDTGetIconSync(__A0)
  2207.                                                                                             #endif
  2208. EXTERN_API( OSErr ) PBDTGetIconSync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7023, 0xA260);
  2209.  
  2210.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2211.                                                                                             #pragma parameter __D0 PBDTGetIconAsync(__A0)
  2212.                                                                                             #endif
  2213. EXTERN_API( OSErr ) PBDTGetIconAsync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7023, 0xA660);
  2214.  
  2215.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2216.                                                                                             #pragma parameter __D0 PBDTGetIconInfoSync(__A0)
  2217.                                                                                             #endif
  2218. EXTERN_API( OSErr ) PBDTGetIconInfoSync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7024, 0xA260);
  2219.  
  2220.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2221.                                                                                             #pragma parameter __D0 PBDTGetIconInfoAsync(__A0)
  2222.                                                                                             #endif
  2223. EXTERN_API( OSErr ) PBDTGetIconInfoAsync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7024, 0xA660);
  2224.  
  2225.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2226.                                                                                             #pragma parameter __D0 PBDTAddAPPLSync(__A0)
  2227.                                                                                             #endif
  2228. EXTERN_API( OSErr ) PBDTAddAPPLSync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7025, 0xA260);
  2229.  
  2230.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2231.                                                                                             #pragma parameter __D0 PBDTAddAPPLAsync(__A0)
  2232.                                                                                             #endif
  2233. EXTERN_API( OSErr ) PBDTAddAPPLAsync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7025, 0xA660);
  2234.  
  2235.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2236.                                                                                             #pragma parameter __D0 PBDTRemoveAPPLSync(__A0)
  2237.                                                                                             #endif
  2238. EXTERN_API( OSErr ) PBDTRemoveAPPLSync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7026, 0xA260);
  2239.  
  2240.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2241.                                                                                             #pragma parameter __D0 PBDTRemoveAPPLAsync(__A0)
  2242.                                                                                             #endif
  2243. EXTERN_API( OSErr ) PBDTRemoveAPPLAsync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7026, 0xA660);
  2244.  
  2245.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2246.                                                                                             #pragma parameter __D0 PBDTGetAPPLSync(__A0)
  2247.                                                                                             #endif
  2248. EXTERN_API( OSErr ) PBDTGetAPPLSync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7027, 0xA260);
  2249.  
  2250.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2251.                                                                                             #pragma parameter __D0 PBDTGetAPPLAsync(__A0)
  2252.                                                                                             #endif
  2253. EXTERN_API( OSErr ) PBDTGetAPPLAsync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7027, 0xA660);
  2254.  
  2255.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2256.                                                                                             #pragma parameter __D0 PBDTSetCommentSync(__A0)
  2257.                                                                                             #endif
  2258. EXTERN_API( OSErr ) PBDTSetCommentSync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7028, 0xA260);
  2259.  
  2260.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2261.                                                                                             #pragma parameter __D0 PBDTSetCommentAsync(__A0)
  2262.                                                                                             #endif
  2263. EXTERN_API( OSErr ) PBDTSetCommentAsync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7028, 0xA660);
  2264.  
  2265.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2266.                                                                                             #pragma parameter __D0 PBDTRemoveCommentSync(__A0)
  2267.                                                                                             #endif
  2268. EXTERN_API( OSErr ) PBDTRemoveCommentSync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7029, 0xA260);
  2269.  
  2270.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2271.                                                                                             #pragma parameter __D0 PBDTRemoveCommentAsync(__A0)
  2272.                                                                                             #endif
  2273. EXTERN_API( OSErr ) PBDTRemoveCommentAsync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x7029, 0xA660);
  2274.  
  2275.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2276.                                                                                             #pragma parameter __D0 PBDTGetCommentSync(__A0)
  2277.                                                                                             #endif
  2278. EXTERN_API( OSErr ) PBDTGetCommentSync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x702A, 0xA260);
  2279.  
  2280.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2281.                                                                                             #pragma parameter __D0 PBDTGetCommentAsync(__A0)
  2282.                                                                                             #endif
  2283. EXTERN_API( OSErr ) PBDTGetCommentAsync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x702A, 0xA660);
  2284.  
  2285.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2286.                                                                                             #pragma parameter __D0 PBDTFlushSync(__A0)
  2287.                                                                                             #endif
  2288. EXTERN_API( OSErr ) PBDTFlushSync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x702B, 0xA260);
  2289.  
  2290.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2291.                                                                                             #pragma parameter __D0 PBDTFlushAsync(__A0)
  2292.                                                                                             #endif
  2293. EXTERN_API( OSErr ) PBDTFlushAsync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x702B, 0xA660);
  2294.  
  2295.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2296.                                                                                             #pragma parameter __D0 PBDTResetSync(__A0)
  2297.                                                                                             #endif
  2298. EXTERN_API( OSErr ) PBDTResetSync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x702C, 0xA260);
  2299.  
  2300.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2301.                                                                                             #pragma parameter __D0 PBDTResetAsync(__A0)
  2302.                                                                                             #endif
  2303. EXTERN_API( OSErr ) PBDTResetAsync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x702C, 0xA660);
  2304.  
  2305.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2306.                                                                                             #pragma parameter __D0 PBDTGetInfoSync(__A0)
  2307.                                                                                             #endif
  2308. EXTERN_API( OSErr ) PBDTGetInfoSync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x702D, 0xA260);
  2309.  
  2310.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2311.                                                                                             #pragma parameter __D0 PBDTGetInfoAsync(__A0)
  2312.                                                                                             #endif
  2313. EXTERN_API( OSErr ) PBDTGetInfoAsync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x702D, 0xA660);
  2314.  
  2315.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2316.                                                                                             #pragma parameter __D0 PBDTOpenInform(__A0)
  2317.                                                                                             #endif
  2318. EXTERN_API( OSErr ) PBDTOpenInform(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x702E, 0xA060);
  2319.  
  2320.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2321.                                                                                             #pragma parameter __D0 PBDTDeleteSync(__A0)
  2322.                                                                                             #endif
  2323. EXTERN_API( OSErr ) PBDTDeleteSync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x702F, 0xA060);
  2324.  
  2325.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2326.                                                                                             #pragma parameter __D0 PBDTDeleteAsync(__A0)
  2327.                                                                                             #endif
  2328. EXTERN_API( OSErr ) PBDTDeleteAsync(DTPBPtr paramBlock)                                                                                            TWOWORDINLINE(0x702F, 0xA460);
  2329.  
  2330. /*  VolumeMount traps  */
  2331.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2332.                                                                                             #pragma parameter __D0 PBGetVolMountInfoSize(__A0)
  2333.                                                                                             #endif
  2334. EXTERN_API( OSErr ) PBGetVolMountInfoSize(ParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x703F, 0xA260);
  2335.  
  2336.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2337.                                                                                             #pragma parameter __D0 PBGetVolMountInfo(__A0)
  2338.                                                                                             #endif
  2339. EXTERN_API( OSErr ) PBGetVolMountInfo(ParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7040, 0xA260);
  2340.  
  2341.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2342.                                                                                             #pragma parameter __D0 PBVolumeMount(__A0)
  2343.                                                                                             #endif
  2344. EXTERN_API( OSErr ) PBVolumeMount(ParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7041, 0xA260);
  2345.  
  2346. /*  FSp traps  */
  2347. EXTERN_API( OSErr )
  2348. FSMakeFSSpec                    (short                     vRefNum,
  2349.                                  long                     dirID,
  2350.                                  ConstStr255Param         fileName,
  2351.                                  FSSpec *                spec)                                TWOWORDINLINE(0x7001, 0xAA52);
  2352.  
  2353. EXTERN_API( OSErr )
  2354. FSpOpenDF                        (const FSSpec *            spec,
  2355.                                  SInt8                     permission,
  2356.                                  short *                refNum)                                TWOWORDINLINE(0x7002, 0xAA52);
  2357.  
  2358. EXTERN_API( OSErr )
  2359. FSpOpenRF                        (const FSSpec *            spec,
  2360.                                  SInt8                     permission,
  2361.                                  short *                refNum)                                TWOWORDINLINE(0x7003, 0xAA52);
  2362.  
  2363. EXTERN_API( OSErr )
  2364. FSpCreate                        (const FSSpec *            spec,
  2365.                                  OSType                 creator,
  2366.                                  OSType                 fileType,
  2367.                                  ScriptCode             scriptTag)                            TWOWORDINLINE(0x7004, 0xAA52);
  2368.  
  2369. EXTERN_API( OSErr )
  2370. FSpDirCreate                    (const FSSpec *            spec,
  2371.                                  ScriptCode             scriptTag,
  2372.                                  long *                    createdDirID)                        TWOWORDINLINE(0x7005, 0xAA52);
  2373.  
  2374. EXTERN_API( OSErr )
  2375. FSpDelete                        (const FSSpec *            spec)                                TWOWORDINLINE(0x7006, 0xAA52);
  2376.  
  2377. EXTERN_API( OSErr )
  2378. FSpGetFInfo                        (const FSSpec *            spec,
  2379.                                  FInfo *                fndrInfo)                            TWOWORDINLINE(0x7007, 0xAA52);
  2380.  
  2381. EXTERN_API( OSErr )
  2382. FSpSetFInfo                        (const FSSpec *            spec,
  2383.                                  const FInfo *            fndrInfo)                            TWOWORDINLINE(0x7008, 0xAA52);
  2384.  
  2385. EXTERN_API( OSErr )
  2386. FSpSetFLock                        (const FSSpec *            spec)                                TWOWORDINLINE(0x7009, 0xAA52);
  2387.  
  2388. EXTERN_API( OSErr )
  2389. FSpRstFLock                        (const FSSpec *            spec)                                TWOWORDINLINE(0x700A, 0xAA52);
  2390.  
  2391. EXTERN_API( OSErr )
  2392. FSpRename                        (const FSSpec *            spec,
  2393.                                  ConstStr255Param         newName)                            TWOWORDINLINE(0x700B, 0xAA52);
  2394.  
  2395. EXTERN_API( OSErr )
  2396. FSpCatMove                        (const FSSpec *            source,
  2397.                                  const FSSpec *            dest)                                TWOWORDINLINE(0x700C, 0xAA52);
  2398.  
  2399. EXTERN_API( OSErr )
  2400. FSpExchangeFiles                (const FSSpec *            source,
  2401.                                  const FSSpec *            dest)                                TWOWORDINLINE(0x700F, 0xAA52);
  2402.  
  2403.  
  2404.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2405.                                                                                             #pragma parameter __D0 PBShareSync(__A0)
  2406.                                                                                             #endif
  2407. EXTERN_API( OSErr ) PBShareSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7042, 0xA260);
  2408.  
  2409.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2410.                                                                                             #pragma parameter __D0 PBShareAsync(__A0)
  2411.                                                                                             #endif
  2412. EXTERN_API( OSErr ) PBShareAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7042, 0xA660);
  2413.  
  2414.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2415.                                                                                             #pragma parameter __D0 PBUnshareSync(__A0)
  2416.                                                                                             #endif
  2417. EXTERN_API( OSErr ) PBUnshareSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7043, 0xA260);
  2418.  
  2419.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2420.                                                                                             #pragma parameter __D0 PBUnshareAsync(__A0)
  2421.                                                                                             #endif
  2422. EXTERN_API( OSErr ) PBUnshareAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7043, 0xA660);
  2423.  
  2424.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2425.                                                                                             #pragma parameter __D0 PBGetUGEntrySync(__A0)
  2426.                                                                                             #endif
  2427. EXTERN_API( OSErr ) PBGetUGEntrySync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7044, 0xA260);
  2428.  
  2429.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2430.                                                                                             #pragma parameter __D0 PBGetUGEntryAsync(__A0)
  2431.                                                                                             #endif
  2432. EXTERN_API( OSErr ) PBGetUGEntryAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7044, 0xA660);
  2433.  
  2434.  
  2435.  
  2436.  
  2437. #if TARGET_CPU_68K
  2438. /*
  2439.     PBGetAltAccess and PBSetAltAccess are obsolete and will not be supported 
  2440.     on PowerPC. Equivalent functionality is provided by the routines 
  2441.     PBGetForeignPrivs and PBSetForeignPrivs.
  2442. */
  2443.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2444.                                                                                             #pragma parameter __D0 PBGetAltAccessSync(__A0)
  2445.                                                                                             #endif
  2446. EXTERN_API( OSErr ) PBGetAltAccessSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7060, 0xA060);
  2447.  
  2448.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2449.                                                                                             #pragma parameter __D0 PBGetAltAccessAsync(__A0)
  2450.                                                                                             #endif
  2451. EXTERN_API( OSErr ) PBGetAltAccessAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7060, 0xA460);
  2452.  
  2453.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2454.                                                                                             #pragma parameter __D0 PBSetAltAccessSync(__A0)
  2455.                                                                                             #endif
  2456. EXTERN_API( OSErr ) PBSetAltAccessSync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7061, 0xA060);
  2457.  
  2458.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2459.                                                                                             #pragma parameter __D0 PBSetAltAccessAsync(__A0)
  2460.                                                                                             #endif
  2461. EXTERN_API( OSErr ) PBSetAltAccessAsync(HParmBlkPtr paramBlock)                                                                                            TWOWORDINLINE(0x7061, 0xA460);
  2462.  
  2463. #define PBSetAltAccess(pb, async) ((async) ? PBSetAltAccessAsync(pb) : PBSetAltAccessSync(pb))
  2464. #define PBGetAltAccess(pb, async) ((async) ? PBGetAltAccessAsync(pb) : PBGetAltAccessSync(pb))
  2465. #endif  /* TARGET_CPU_68K */
  2466.  
  2467.  
  2468. /*
  2469.     The PBxxx() routines are obsolete.  
  2470.     
  2471.     Use the PBxxxSync() or PBxxxAsync() version instead.
  2472. */
  2473. #define PBGetVInfo(pb, async) ((async) ? PBGetVInfoAsync(pb) : PBGetVInfoSync(pb))
  2474. #define PBXGetVolInfo(pb, async) ((async) ? PBXGetVolInfoAsync(pb) : PBXGetVolInfoSync(pb))
  2475. #define PBGetVol(pb, async) ((async) ? PBGetVolAsync(pb) : PBGetVolSync(pb))
  2476. #define PBSetVol(pb, async) ((async) ? PBSetVolAsync(pb) : PBSetVolSync(pb))
  2477. #define PBFlushVol(pb, async) ((async) ? PBFlushVolAsync(pb) : PBFlushVolSync(pb))
  2478. #define PBCreate(pb, async) ((async) ? PBCreateAsync(pb) : PBCreateSync(pb))
  2479. #define PBDelete(pb, async) ((async) ? PBDeleteAsync(pb) : PBDeleteSync(pb))
  2480. #define PBOpenDF(pb, async) ((async) ? PBOpenDFAsync(pb) : PBOpenDFSync(pb))
  2481. #define PBOpenRF(pb, async) ((async) ? PBOpenRFAsync(pb) : PBOpenRFSync(pb))
  2482. #define PBRename(pb, async) ((async) ? PBRenameAsync(pb) : PBRenameSync(pb))
  2483. #define PBGetFInfo(pb, async) ((async) ? PBGetFInfoAsync(pb) : PBGetFInfoSync(pb))
  2484. #define PBSetFInfo(pb, async) ((async) ? PBSetFInfoAsync(pb) : PBSetFInfoSync(pb))
  2485. #define PBSetFLock(pb, async) ((async) ? PBSetFLockAsync(pb) : PBSetFLockSync(pb))
  2486. #define PBRstFLock(pb, async) ((async) ? PBRstFLockAsync(pb) : PBRstFLockSync(pb))
  2487. #define PBSetFVers(pb, async) ((async) ? PBSetFVersAsync(pb) : PBSetFVersSync(pb))
  2488. #define PBAllocate(pb, async) ((async) ? PBAllocateAsync(pb) : PBAllocateSync(pb))
  2489. #define PBGetEOF(pb, async) ((async) ? PBGetEOFAsync(pb) : PBGetEOFSync(pb))
  2490. #define PBSetEOF(pb, async) ((async) ? PBSetEOFAsync(pb) : PBSetEOFSync(pb))
  2491. #define PBGetFPos(pb, async) ((async) ? PBGetFPosAsync(pb) : PBGetFPosSync(pb))
  2492. #define PBSetFPos(pb, async) ((async) ? PBSetFPosAsync(pb) : PBSetFPosSync(pb))
  2493. #define PBFlushFile(pb, async) ((async) ? PBFlushFileAsync(pb) : PBFlushFileSync(pb))
  2494. #define PBCatSearch(pb, async) ((async) ? PBCatSearchAsync(pb) : PBCatSearchSync(pb))
  2495. #define PBOpenWD(pb, async) ((async) ? PBOpenWDAsync(pb) : PBOpenWDSync(pb))
  2496. #define PBCloseWD(pb, async) ((async) ? PBCloseWDAsync(pb) : PBCloseWDSync(pb))
  2497. #define PBHSetVol(pb, async) ((async) ? PBHSetVolAsync(pb) : PBHSetVolSync(pb))
  2498. #define PBHGetVol(pb, async) ((async) ? PBHGetVolAsync(pb) : PBHGetVolSync(pb))
  2499. #define PBCatMove(pb, async) ((async) ? PBCatMoveAsync(pb) : PBCatMoveSync(pb))
  2500. #define PBDirCreate(pb, async) ((async) ? PBDirCreateAsync(pb) : PBDirCreateSync(pb))
  2501. #define PBGetWDInfo(pb, async) ((async) ? PBGetWDInfoAsync(pb) : PBGetWDInfoSync(pb))
  2502. #define PBGetFCBInfo(pb, async) ((async) ? PBGetFCBInfoAsync(pb) : PBGetFCBInfoSync(pb))
  2503. #define PBGetCatInfo(pb, async) ((async) ? PBGetCatInfoAsync(pb) : PBGetCatInfoSync(pb))
  2504. #define PBSetCatInfo(pb, async) ((async) ? PBSetCatInfoAsync(pb) : PBSetCatInfoSync(pb))
  2505. #define PBAllocContig(pb, async) ((async) ? PBAllocContigAsync(pb) : PBAllocContigSync(pb))
  2506. #define PBLockRange(pb, async) ((async) ? PBLockRangeAsync(pb) : PBLockRangeSync(pb))
  2507. #define PBUnlockRange(pb, async) ((async) ? PBUnlockRangeAsync(pb) : PBUnlockRangeSync(pb))
  2508. #define PBSetVInfo(pb, async) ((async) ? PBSetVInfoAsync(pb) : PBSetVInfoSync(pb))
  2509. #define PBHGetVInfo(pb, async) ((async) ? PBHGetVInfoAsync(pb) : PBHGetVInfoSync(pb))
  2510. #define PBHOpen(pb, async) ((async) ? PBHOpenAsync(pb) : PBHOpenSync(pb))
  2511. #define PBHOpenRF(pb, async) ((async) ? PBHOpenRFAsync(pb) : PBHOpenRFSync(pb))
  2512. #define PBHOpenDF(pb, async) ((async) ? PBHOpenDFAsync(pb) : PBHOpenDFSync(pb))
  2513. #define PBHCreate(pb, async) ((async) ? PBHCreateAsync(pb) : PBHCreateSync(pb))
  2514. #define PBHDelete(pb, async) ((async) ? PBHDeleteAsync(pb) : PBHDeleteSync(pb))
  2515. #define PBHRename(pb, async) ((async) ? PBHRenameAsync(pb) : PBHRenameSync(pb))
  2516. #define PBHRstFLock(pb, async) ((async) ? PBHRstFLockAsync(pb) : PBHRstFLockSync(pb))
  2517. #define PBHSetFLock(pb, async) ((async) ? PBHSetFLockAsync(pb) : PBHSetFLockSync(pb))
  2518. #define PBHGetFInfo(pb, async) ((async) ? PBHGetFInfoAsync(pb) : PBHGetFInfoSync(pb))
  2519. #define PBHSetFInfo(pb, async) ((async) ? PBHSetFInfoAsync(pb) : PBHSetFInfoSync(pb))
  2520. #define PBMakeFSSpec(pb, async) ((async) ? PBMakeFSSpecAsync(pb) : PBMakeFSSpecSync(pb))
  2521. #define PBHGetVolParms(pb, async) ((async) ? PBHGetVolParmsAsync(pb) : PBHGetVolParmsSync(pb))
  2522. #define PBHGetLogInInfo(pb, async) ((async) ? PBHGetLogInInfoAsync(pb) : PBHGetLogInInfoSync(pb))
  2523. #define PBHGetDirAccess(pb, async) ((async) ? PBHGetDirAccessAsync(pb) : PBHGetDirAccessSync(pb))
  2524. #define PBHSetDirAccess(pb, async) ((async) ? PBHSetDirAccessAsync(pb) : PBHSetDirAccessSync(pb))
  2525. #define PBHMapID(pb, async) ((async) ? PBHMapIDAsync(pb) : PBHMapIDSync(pb))
  2526. #define PBHMapName(pb, async) ((async) ? PBHMapNameAsync(pb) : PBHMapNameSync(pb))
  2527. #define PBHCopyFile(pb, async) ((async) ? PBHCopyFileAsync(pb) : PBHCopyFileSync(pb))
  2528. #define PBHMoveRename(pb, async) ((async) ? PBHMoveRenameAsync(pb) : PBHMoveRenameSync(pb))
  2529. #define PBHOpenDeny(pb, async) ((async) ? PBHOpenDenyAsync(pb) : PBHOpenDenySync(pb))
  2530. #define PBHOpenRFDeny(pb, async) ((async) ? PBHOpenRFDenyAsync(pb) : PBHOpenRFDenySync(pb))
  2531. #define PBExchangeFiles(pb, async) ((async) ? PBExchangeFilesAsync(pb) : PBExchangeFilesSync(pb))
  2532. #define PBCreateFileIDRef(pb, async) ((async) ? PBCreateFileIDRefAsync(pb) : PBCreateFileIDRefSync(pb))
  2533. #define PBResolveFileIDRef(pb, async) ((async) ? PBResolveFileIDRefAsync(pb) : PBResolveFileIDRefSync(pb))
  2534. #define PBDeleteFileIDRef(pb, async) ((async) ? PBDeleteFileIDRefAsync(pb) : PBDeleteFileIDRefSync(pb))
  2535. #define PBGetForeignPrivs(pb, async) ((async) ? PBGetForeignPrivsAsync(pb) : PBGetForeignPrivsSync(pb))
  2536. #define PBSetForeignPrivs(pb, async) ((async) ? PBSetForeignPrivsAsync(pb) : PBSetForeignPrivsSync(pb))
  2537. #define PBDTAddIcon(pb, async) ((async) ? PBDTAddIconAsync(pb) : PBDTAddIconSync(pb))
  2538. #define PBDTGetIcon(pb, async) ((async) ? PBDTGetIconAsync(pb) : PBDTGetIconSync(pb))
  2539. #define PBDTGetIconInfo(pb, async) ((async) ? PBDTGetIconInfoAsync(pb) : PBDTGetIconInfoSync(pb))
  2540. #define PBDTAddAPPL(pb, async) ((async) ? PBDTAddAPPLAsync(pb) : PBDTAddAPPLSync(pb))
  2541. #define PBDTRemoveAPPL(pb, async) ((async) ? PBDTRemoveAPPLAsync(pb) : PBDTRemoveAPPLSync(pb))
  2542. #define PBDTGetAPPL(pb, async) ((async) ? PBDTGetAPPLAsync(pb) : PBDTGetAPPLSync(pb))
  2543. #define PBDTSetComment(pb, async) ((async) ? PBDTSetCommentAsync(pb) : PBDTSetCommentSync(pb))
  2544. #define PBDTRemoveComment(pb, async) ((async) ? PBDTRemoveCommentAsync(pb) : PBDTRemoveCommentSync(pb))
  2545. #define PBDTGetComment(pb, async) ((async) ? PBDTGetCommentAsync(pb) : PBDTGetCommentSync(pb))
  2546. #define PBDTFlush(pb, async) ((async) ? PBDTFlushAsync(pb) : PBDTFlushSync(pb))
  2547. #define PBDTReset(pb, async) ((async) ? PBDTResetAsync(pb) : PBDTResetSync(pb))
  2548. #define PBDTGetInfo(pb, async) ((async) ? PBDTGetInfoAsync(pb) : PBDTGetInfoSync(pb))
  2549. #define PBDTDelete(pb, async) ((async) ? PBDTDeleteAsync(pb) : PBDTDeleteSync(pb))
  2550. #if OLDROUTINELOCATIONS
  2551. #define PBOpen(pb, async) ((async) ? PBOpenAsync(pb) : PBOpenSync(pb))
  2552. #define PBClose(pb, async) ((async) ? PBCloseAsync(pb) : PBCloseSync(pb))
  2553. #define PBRead(pb, async) ((async) ? PBReadAsync(pb) : PBReadSync(pb))
  2554. #define PBWrite(pb, async) ((async) ? PBWriteAsync(pb) : PBWriteSync(pb))
  2555. #endif  /* OLDROUTINELOCATIONS */
  2556.  
  2557.  
  2558. #if PRAGMA_STRUCT_ALIGN
  2559.     #pragma options align=reset
  2560. #elif PRAGMA_STRUCT_PACKPUSH
  2561.     #pragma pack(pop)
  2562. #elif PRAGMA_STRUCT_PACK
  2563.     #pragma pack()
  2564. #endif
  2565.  
  2566. #ifdef PRAGMA_IMPORT_OFF
  2567. #pragma import off
  2568. #elif PRAGMA_IMPORT
  2569. #pragma import reset
  2570. #endif
  2571.  
  2572. #ifdef __cplusplus
  2573. }
  2574. #endif
  2575.  
  2576. #endif /* __FILES__ */
  2577.  
  2578.